关于TypeScript枚举类的一个点

看以下代码:

enum List{
    A,
    B,
    C
}
console.log(List.A);
console.log(List.B);
console.log(List.C);

这段代码都知道输出的值为0,1,2

但是下面这段代码呢?

let getValue=()=>{
    return 1;
}
enum List{
    A=getValue(),
    B,
    C
}
console.log(List.A);
console.log(List.B);
console.log(List.C);

这段代码会直接报错。
如果给B也赋值一个呢?

let getValue=()=>{
    return 1;
}
enum List{
    A=getValue(),
    B=0,
    C
}
console.log(List.A);
console.log(List.B);
console.log(List.C);

这段代码没有报错,猜一猜这段代码的执行结果是什么。
1,0,1

如果某个属性的值是计算出来的,那么它后面一位的成员必须要初始化值。

你可能感兴趣的:(关于TypeScript枚举类的一个点)