咱們提供一些基礎類型,好比數字(numbers)、字符串(strings)、結構(structures),布爾值(Boolean)等等。在TypeScript中,咱們支持JavaScript中相同的類型,還提供枚舉類型。web
最基礎的數據類型是true/false值,JavaScript和TypeScript以及其餘語言把它叫作'boolean'類型。typescript
var isDone: boolean = false;
跟JavaScript同樣,在TypeScript中的全部數字都是浮點數。這些浮點數使用'number'類型。
編程
var height: number = 6;
JavaScript用來構建web頁面和服務端程序的另外一個基礎部分是處理文本數據(textual data)。與其餘語言同樣,咱們使用'string'來指這些文本數據類型。如同在JavaScript中同樣,TypeScript也使用雙引號(")或單引號(')來包裹這些字符串數據。 c#
var name: string = "bob"; name = 'smith';
TypeScript與JavaScript同樣,容許你使用數組。數組類型能夠用2種方式書寫。第一種方式,你能夠在元素類型後面跟一個'[]'來表示該元素類型的數組:數組
var list:number[] = [1, 2, 3];
第二種方式是使用數組泛型,Array<elemType>:
函數
var list:Array<number> = [1, 2, 3];
在JavaScript標準數據類型集合外,增長了"enum"類型。如同c#等語言同樣,enum是表示一組數值更爲友好的方式。spa
enum Color {Red, Green, Blue}; var c: Color = Color.Green;
枚舉類型默認從0開始計數。但能夠對其中一個成員設置值來改變這一行爲。例如針對前面例子,修改成從1開始而不是從0開始計數。code
enum Color {Red = 1, Green, Blue}; var c: Color = Color.Green;
或者,手動設置枚舉中每個值:
ip
enum Color {Red = 1, Green = 2, Blue = 4}; var c: Color = Color.Green;
枚舉類型一個便利的特性是能夠根據數值找到值對應的名稱。例如,要想知道數值"2"映射到Color枚舉的哪個,能夠根據下面代碼找到對應的名稱: 字符串
enum Color {Red = 1, Green, Blue}; var colorName: string = Color[2]; alert(colorName);
當咱們編程的時候,咱們有時不得不去描述咱們還不能肯定的變量類型。這些值可能來自動態內容,好比來自用戶自定義或者第三方庫。在這些狀況下,咱們但願它們不參與類型檢測,從而經過編譯檢測。爲了作到這點,咱們標記爲'any'類型:
var notSure: any = 4; notSure = "maybe a string instead"; notSure = false; // okay, definitely a boolean
'any'類型提供一條能與現有JavaScript協做的途徑,容許你逐步選擇參與和不參與編譯時的類型檢測。若是你知道類型的某些部分,但不知道類型的其餘部分,那麼'any'類型是十分方便的。例若有個數組用了不一樣的數據類型:
var list:any[] = [1, true, "free"]; list[1] = 100;
在某些狀況下,‘any’類型的反面可能就是'void'類型,它表示非任何類型。能夠把它當作一個無返回值函數的返回類型:
function warnUser(): void { alert("This is my warning message"); }