2015-07-12 113 views
37

我剛剛注意到,當試圖在TypeScript中創建一個接口時,「type」是關鍵字或保留字。當創建以下接口,例如,「類型」顯示爲藍色在Visual Studio 2013年打字稿1.4:TypeScript中的「類型」保留字是什麼?

interface IExampleInterface { 
    type: string; 
} 

比方說,你再嘗試實現接口的類,像這樣:

class ExampleClass implements IExampleInterface { 
    public type: string; 

    constructor() { 
     this.type = "Example"; 
    } 
} 

在類的第一行中,當您鍵入(對不起)單詞「type」以便實現接口所需的屬性時,IntelliSense以「type」出現,與其他關鍵字具有相同圖標,例如「 typeof「或」new「。

我看了一下,可以找到這個GitHub issue,它在TypeScript中將「type」列爲「嚴格模式保留字」,但我還沒有發現任何有關其實際用途的更多信息。

我懷疑我有一個大腦放屁,這是顯而易見的事我應該已經知道,但什麼是打字稿「類型」保留字呢?

+0

'鍵入別名'爲您的類型提供語義名稱:http://basarat.gitbooks.io/typescript/content/docs/types/type-system.html – basarat

回答

45

它用於「類型別名」。例如:

type StringOrNumber = string | number; 
type DictionaryOfStringAndPerson = Dictionary<string, Person>; 

參考:TypeScript Specification v1.5(3.9節, 「類型別名」,46 & 47頁)

更新Now on section 3.10 of the 1.8 spec。感謝@RandallFlagg獲取更新的規範和鏈接

+10

是的,所以這是明顯的。事實證明,當你在編程語言的環境中搜索「type」這個詞時,很難找到你要找的東西 - 特別是當有問題的語言被稱爲「TypeScript」時。順便說一句,通用字典仍然不存在於TypeScript的權利? –

+1

[這裏有一個(https://github.com/basarat/typescript-collections)如果你需要它(對TS 0.9及以上): – Jcl

+0

謝謝,我想我看到了這個項目,一旦當我想要一本字典之前,但最後,我決定不做。在此更新的鏈接進行了規範 –