我可以定义一个类型,将输入字符串限制为两个可能的值:
type STATE_TYPE = 'DRAFT'|'PUBLISHED'
function myFunc(state: STATE_TYPE) {
...
}
但我无法将这两个值定义为 const 并在类型定义中引用它们:
const DRAFT = 'DRAFT'
const PUBLISHED = 'PUBLISHED'
type STATE_TYPE = DRAFT|PUBLISHED # <<---- not allowed
文档
在第一个示例中,“DRAFT”和“PUBLISHED”都用作类型而不是值。毕竟它们被称为字符串文字类型。
要使第二个示例与第一个示例等效,您必须获取 DRAFT 和 PUBLISHED 类型。