在打字稿类中声明常量的最佳方法是什么?
答案 0 :(得分:4)
您不能声明一个常量,可以声明一个readonly
字段,该字段要弱于您希望从常量中获得的值,但可能足够好:
class MyClass {
static readonly staticReadOnly = 10;
readonly instanceReadonly = 10;
}
console.log(MyClass.staticReadOnly);
console.log((new MyClass).instanceReadonly);
我说它比较弱,因为在运行时可以更改值,甚至在类型系统中,我们甚至可以在没有类型声明的情况下违反readonly
:
let mutable: { instanceReadonly: number } = new MyClass() // valid assignment
mutable.instanceReadonly = 11; // we just changed a readonly field
如果可以的话,我会在课程之外坚持一个常规的const
声明。