2017-08-15 62 views
0

我碰到一个打字稿代码来到象下面这样:带有''''的类型定义运营商

export type StatusCode = 
    'A1' | 
    'B2' | 
    'C3'; 

let code: StatusCode = "C3"; 

究竟酒吧经营者“|”在这里做?我们在JavaScript中有类似的功能吗?

虽然我可以猜到这应该是类似于enum我想知道该主题的名称,所以我可以搜索和了解它。

+0

这些看起来像Typescript联合类型。请参阅https://www.typescriptlang.org/docs/handbook/advanced-types.html –

回答

0

管道运营商是打字稿用于或者创建联盟类型类型别名或者,你实际上寻找,字符串文字类型。后者就像一个字符串枚举。你基本上决定了一个字符串可以拥有哪些值。

From the documentation:

字符串文字类型允许您指定的确切值的字符串 必须具备的。在实践中,字符串文字类型与工会 类型,类型警卫和类型别名很好地结合在一起。您可以将这些功能 一起使用以获取带有字符串的类枚举行为。