根据https://github.com/Microsoft/TypeScript/issues/7642和https://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
答案 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语言设计所涵盖的内容。