TypeScript Handbook 1——基本類型(翻譯)

原文出處:javascript

http://www.typescriptlang.org/Handbookjava

基於對web開發的須要和對安神的崇拜,打算學習一下typescript。web

能力有限,基本屬於在本身認識的基礎上進行的翻譯,錯誤不免,主要是經過翻譯來學習。typescript

基本類型
在編程中咱們須要用到的一些簡單的數據元素,好比:數值,字符串,結構體,布爾型,等等。
如你所願,在javascript裏面的那些數據類型,TypeScript都支持,
with a convenient enumeration type thrown in to help things along.(這句暫時沒理解好)編程

布爾型(Boolean)
最基本的數據類型是簡單的真或假,在javascript和TypeScript(以及其餘語言)中定義爲'boolean'。數組

var isDone: boolean = false;

 

數值型(Number)
和JavaScript同樣,在TypeScript中全部的數值類型都是浮點類型。這些浮點類型值被定義爲'number'。服務器

var height: number = 6;

 

字符串(String)
用javascript編寫網頁和服務器程序時,另外一個基本的部分就是針對文本數據的工做。
和其餘語言同樣,咱們用'string'來定義文本數據類型,和javascript同樣,typescript也使用雙引號(")
或者單引號(')把字符串數據括起來。函數

var name: string = "bob";
name = 'smith';

 

數組(Array)
typescript和javascript同樣,容許你使用數組。數組類型能夠用兩種方法中的任何一種來定義。
第一種,你能夠經過元素的類型接中括號[]來表示一個指定元素類型的數組:學習

var list:number[] = [1, 2, 3];

第二種,使用通用的數組類型,Array<元素類型>:spa

var list:Array<number> = [1, 2, 3];

 

注:我我的喜歡第二種。

枚舉(Enum)
'enum'是對javascript中標準的集合類型的有用擴展。像其餘語言,好比C#,枚舉能夠爲集合類型的數值定義一個更加友好的名稱。

enum Color {Red, Green, Blue};
var c: Color = Color.Green;

默認狀況下,枚舉的元素的序號是用0開始的。咱們能夠手工設置元素的序號。例如,咱們能夠用1代替開始元素的0:

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)

當咱們寫程序時,可能須要定義一個還不知道具體類型的變量。這些值可能來自動態的內容,例如從用戶或第三方庫。
在這些狀況下,咱們要選擇退出類型檢查,並讓值經過編譯時檢查。這時,咱們經過'any'來標記:

var notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; // okay, definitely a boolean

any類型在現有的javascript中是一個強大有力的方法,容許您在編譯過程當中逐步選擇和退出類型檢查。

注:在我看來是兼容javascript的弱類型。
any類型在你可能只是知道該類型的某一部份內容時,頗有用。例如,你可能定義一個數組,可是這個數組混合了不一樣的類型:

var list:any[] = [1, true, "free"];

list[1] = 100;

注:相似Delphi的variant,或者TValue。

無類型(Void)
也許有時候,any類型並不能準確表示'無',即沒有任何類型的類型,不能用某種類型類表示。
您一般能夠將此視爲不返回值的返回類型的函數:

function warnUser(): void {
alert("This is my warning message");
}
相關文章
相關標籤/搜索