# 安裝
npm install -g typescript
# 編譯
使用框架如 NextJS 時,框架會自動執行 TS 編譯
tsc hello.ts
# Hello TypeScript
- 範例:
function sayHello(person: string) {
return 'Hello, ' + person;
}
let user = 'Tom';
console.log(sayHello(user)); - 上述例子中,使用
:
指定 person type 為 string - 運行會自動產生編譯好的文件 hello.js
tsc hello.ts
- 編譯好的
function sayHello(person) {
return 'Hello, ' + person;
}
var user = 'Tom';
console.log(sayHello(user)); - 編譯完成的文件,就是純粹 JS,因為 TS 只會在編譯過程中檢查,運行中不會檢查
- 如果要執行中檢查,還是要手動檢查
function sayHello(person: string) {
if (typeof person === 'string') {
return 'Hello, ' + person;
} else {
throw new Error('person is not a string');
}
}
let user = 'Tom';
console.log(sayHello(user)); - 編譯錯誤預設依然會產生 JS 檔案,例如以下錯誤的範例
function sayHello(person: string) {
return 'Hello, ' + person;
}
let user = [0, 1, 2];
console.log(sayHello(user)); - 依然會產出
function sayHello(person) {
return 'Hello, ' + person;
}
var user = [0, 1, 2];
console.log(sayHello(user)); - 若想要編譯錯誤時不產出,可在 tsconfig.json 中定義 noEmitOnError