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");

}

  

發佈留言