npm i typescript -g // ts 全局包 npm i ts-node -g // 使用 ts-node 直接運行 ts 文件
將 TypeScript 轉換爲 JavaScript 代碼:node
tsc test.ts
使用 node 命令來執行 test.js 文件:typescript
$ node test.js
聲明爲 any 的變量能夠賦予任意類型的值npm
let any1: any = 4 console.log(any1); // 4 any1 = false console.log(any1); // false any1 = undefined console.log(any1); // undefined
TS 的 number 類型繼承了 ES6 的 number,額外支持二進制和八進制數值數組
let decLiteral: number = 6; // 十進制 let hexLiteral: number = 0xf00d; // 16進制 let binaryLiteral: number = 0b1010; // 二進制 let octalLiteral: number = 0o744; // 八進制 console.log(decLiteral, hexLiteral, binaryLiteral, octalLiteral) // 輸出 // 6 61453 10 484
可使用單引號(')、雙引號(")來表示字符串類型函數
使用反引號(`)來定義多行文本和內嵌表達式spa
let name: string = "Faker";
let title: string = `Hello, I am ${ name }`;
表示邏輯值:true 和 falsecode
let flag: boolean = true;
聲明變量爲數組對象
// 在元素類型後面加上 [] let arr: number[] = [1, 2, 3]; // 或者使用數組泛型 let arr: Array<number> = [1, 2, 3];
元組與數組類似,但元組每一項的數據類型能夠不一樣(而數組須要使用 any 類型才能夠實現每一項類型不一樣)blog
let x: [string, number]; x = ['Faker', 1]; // 運行正常 x = [1, 'Faker']; // 報錯 console.log(x[0]); // 輸出 Faker
用於定義數值集合繼承
enum Color {Red, Green, Blue}; let c: Color = Color.Blue; console.log(c); // 輸出 2
表示沒有任何類型,方法無返回值時可使用此類型
function hello(): void { alert("Hello Faker"); }
表示對象值缺失
let a: undefined = undefined console.log(a); // undefined
用於初始化變量爲一個未定義的值
let b: null = null console.log(b); // null
never 是其它類型(包括 null 和 undefined)的子類型,表明從不會出現的值,這意味着聲明爲 never 類型的變量只能被 never 類型所賦值,在函數中它一般表現爲拋出異常或沒法執行到終止點(例如無限循環)
let x: never; // 運行錯誤,數字類型不能轉爲 never 類型 x = 123;