--- tags: TypeScript --- # TypeScript 執行 Hello TypeScript ## Hello TypeScript hello.ts : ``` function sayHello(person: string) { return 'Hello, ' + person; } let user = 'Tom'; console.log(sayHello(user)); ``` 然後執行 ``` tsc hello.ts ``` 這時候會產生一個編譯好的檔案 **hello.js**: ``` function sayHello(person) { return 'Hello, ' + person; } var user = 'Tom'; console.log(sayHello(user)); ``` TypeScript 中,使用 ```:``` 指定變數的型別,```:``` 的前後有沒有空格都可以。 上述例子中,我們用 ```:``` 指定 ```person``` 引數型別為 ```string```。但是編譯為 js 之後,並沒有什麼檢查的程式碼被插入進來。 **TypeScript 只會進行靜態檢查,如果發現有錯誤,編譯的時候就會報錯。** 報錯範例: ``` function sayHello(person: string) { return 'Hello, ' + person; } let user = [0, 1, 2]; console.log(sayHello(user)); ``` 錯誤訊息如下: ``` index.ts(6,22): error TS2345: Argument of type 'number[]' is not assignable to parameter of type 'string'. ``` 依舊產生了JS檔案: ``` function sayHello(person) { return 'Hello, ' + person; } var user = [0, 1, 2]; console.log(sayHello(user)); ``` **TypeScript 編譯的時候即使報錯了,還是會產生編譯結果**,我們仍然可以使用這個編譯之後的檔案。 如果要在報錯的時候終止 js 檔案的產生,可以在 ```tsconfig.json``` 中配置 ```noEmitOnError``` 即可。關於 ```tsconfig.json```,請參閱[官方手冊](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html)。 [來源:TypeScript新手指南](https://willh.gitbook.io/typescript-tutorial/introduction)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up