是否有名称定义变量类型而不是类型的值列表?

时间:2019-01-10 17:16:06

标签: typescript

我找到了一些代码,这些代码使用以下变量定义了一个类。

export class Foo {
  id: string = "A regular string"
  bar: '>' | '<' | '=' | '<=' | '>=' = '>';
}

让我感到困惑的是变量“ bar”。而不是具有类型定义,而是在其中似乎有一个由管道分隔的字符串列表,并在最后分配了这些字符串之一。

直觉告诉我,这表明变量栏仅限于列出的值,并且最终被赋予值'>'。

这个有名字吗?我在变量声明文档中的任何地方都找不到它。

1 个答案:

答案 0 :(得分:2)

您正在查看的是一个union typehttps://www.typescriptlang.org/docs/handbook/advanced-types.html

bar只能等于:><=<=或{{ 1}})

最后一个>=(在并集类型之后)指定=的默认值,正如您所指出的,它是bar

希望这有帮助,请查看我发布的链接以获取有关联合类型的更多信息。