在Typescript类中声明一个常量-Angular 5组件

时间:2018-07-23 10:15:36

标签: angular typescript

在打字稿类中声明常量的最佳方法是什么?

1 个答案:

答案 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声明。