TypeScript - 基本類型系統
對於程式來說我們需要基本的資料單元,如:numbers, strings, structures, boolean 等資料結構。在TypeScript中我們支援很多你所期望在JavaScript中所擁有的資料類型系統。 Boolean 在JavaScript和TypeScript中也具有最基本的邏輯斷言值true/false,採用’boolean’類型。 var isDone: boolean = false;Number 如JavaScript,TypeScript所有的數實值型別採用浮點型計數,其類型為‘number’。 var height: number = 6;String 在webpages的JavaScript或者服務端的應用程式最基本的功能就是處理文本資料。在其他語言中大多使用’string’去代表文本資料類型。TypeScript和JavaScript一樣也是用雙引號(“)或者單引號包裹文本資料。 var name: string = "bob"; name = 'smith';Array 在TypeScript中如JavaScript一樣允許我們操結合操作。數群組類型可以使用下邊兩種方式之一。 第一種方式,你可以在資料類型之後帶上’[]‘: var list:number[] = [1, 2, 3];第二種方式,也可以採用泛型的數群組類型: var list:Array<number> = [1, 2, 3];Enum TypeScript為JavaScript新增了枚舉這種標準的集合資料類型。和在c#中一樣,枚舉是為一組數實值型別一組更友好的名稱: enum Color {Red, Green, Blue};var c: Color = Color.Green;預設枚舉類型其實數值從0開始,你可以可用手動設定某一個成員的數值。例如我們可以將上文的起始值定為1: enum Color {Red = 1, Green, Blue};var c: Color = Color.Green;或是手動設定全部的枚舉成員: enum Color {Red = 1, Green = 2, Blue = 4};var c: Color = Color.Green;枚舉類型可以和容易從一個數實值型別擷取對應枚舉名稱。例如我們有一個數實值型別2,但不確認將匹配哪一個枚舉成員,那麼我們可以如下使用: enum Color {Red = 1, Green, Blue};var colorName: string = Color[2]; alert(colorName);Any 有時我們需要描述一些我們不知道的什麼寫進應用的動態資料類型,這可能來自第三方使用者或者lib。在這裡我們希望該資料不要加入TypeScript的類型檢查,是的此值通過編譯時間檢查。為此我們可以採用‘any’類型標註: var notSure: any = 4;notSure = "maybe a string instead";notSure = false; // okay, definitely a boolean‘any’類型是一種強大的相容存在的JavaScript庫的類型系統。他允許跳過TypeScript的編譯時間類型的檢查。 ‘any’類型對於我們只知道部分資料類型,但是不是所有的資料類型的類型系統。如一個混合了多種類型的集合數組。 var list:any[] = [1, true, "free"]; list[1] = 100;Void 和‘any’相對的資料類型則是’Void‘,它代表沒有任何資料類型。我們常用的一個方法沒有任何傳回值: function warnUser(): void { alert("This is my warning message");}