枚举文字类型

时间:2017-06-12 23:11:15

标签: typescript

根据https://github.com/Microsoft/TypeScript/issues/7642https://github.com/Microsoft/TypeScript/pull/9407枚举文字类型应该有效,但我遇到了奇怪的问题:

const enum STATUS {
    CREATED = 201,
    NOT_FOUND = 404,
}

const statusCode: STATUS.CREATED = 404; // not an error

是否可以使用这样的枚举成员?

ts版本:2.3

1 个答案:

答案 0 :(得分:1)

  

是否可以使用这样的枚举成员?

没有。出错的原因是数字与枚举兼容(可分配)。即

const enum STATUS {
    CREATED = 201,
    NOT_FOUND = 404,
}


const why: STATUS.CREATED = 123123; // not an error

const foo: 1 = 1;
const because: STATUS.CREATED = foo;

换句话说,它不是错误,因为这不是当前TypeScript语言设计所涵盖的内容。