TypeScript 是 JaveScript 型別的超集,它可以編譯成純 JavaScript,TypeScript 可以在任何瀏覽器、任何計算機和任何作業系統上執行,並且是開源的。
TypeScript 支援與 Javascript 幾乎相同的資料型別,此外還提供了使用的列舉型別,TypeScript 支援的型別包括:布林值、數字、字串、陣列、元組、列舉、Any、Void、Null、 Undefined、Nerver、Object、型別斷言.
要點:
- 有兩種方式可以定義陣列,第一種是在元素型別後面接上[],表示由此型別元素組成的一個陣列;第二種是使用陣列泛型,Array<元素型別>
- 元組型別表示一個已知元素數量和型別的陣列,各元素的型別不必相同
- Void 表示沒有任何型別,當一個函式沒有返回值時,通常會將其返回值型別設為 void
- 有兩種型別斷言,在 JSX 裡,只有 as 語法斷言是被允許的
- never 型別表示的是那些永不存在的值的型別,常用於丟擲異常或根本就不會有返回值的函式表示式或箭頭函式表示式的返回值型別
let tsBoolean: boolean = false;
let tsNumber: number = 123;
let tsString: string = 'abc';
let tsLinstNum2: number[] = [1, 2, 3, 4];
let tsLinstStr: string[] = ['A', 'B', 'C', 'D'];
let tsListMix: any[] = ['A', 1, 'B', 2, { a: 12 }];
let tsLintStr2: Array<string> = ['A', 'B', 'C', 'D'];
let tsTuple: [string, number] = ['AA', 222]
enum Color { Red, Green, Pink }
let tsEnum: Color = Color.Green;
let tsNull: null = null;
let tsUndefined: undefined = undefined;
let tsObject: object = { a: 'aaaa' };
function tsVoidFun(a: string, b: string): void {
console.log(a + b)
}
function error(message: string): nerver {
throw new Error(message);
}
let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;
複製程式碼