为什么以下在TypeScript中编译?
enum xEnum {
X1,X2
}
function test(x: xEnum) {
}
test(6);
Run Code Online (Sandbox Code Playgroud)
它不应该抛出错误吗?恕我直言这隐式演员在这里是错的,不是吗?
这是游乐场的链接.
打字稿中枚举的用途是什么。如果它的目的只是为了使代码可红,我们就不能为了同样的目的使用常量吗?
enum Color {
Red = 1, Green = 2, Blue = 4
};
let obj1: Color = Color.Red;
obj1 = 100; // does not show any error in IDE while enum should accept some specific values
Run Code Online (Sandbox Code Playgroud)
如果没有typechecking的优势,难道就不能这么写。
const BasicColor = {
Red: 1,
Green: 2,
Blue: 4
};
let obj2 = BasicColor.Red;
Run Code Online (Sandbox Code Playgroud)