2015-07-12 127 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

谢谢,我想我看到了这个项目,一旦当我想要一本字典之前,但最后,我决定不做。在此更新的链接进行了规范 –