在Typescript类中声明常量

4
在TypeScript class中声明常量最佳的方法是什么?

1
你可以使用const关键字。请参考(https://www.typescriptlang.org/docs/handbook/variable-declarations.html)。 - AmiLinn
感谢 @AmiLinn 的回答和链接,问题是我在只读和常量之间犹豫不决。 - Brahim LAMJAGUAR
1个回答

5

你无法声明一个常量,但你可以声明一个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声明。

谢谢你的回答Titian,这就是我一直在寻找的解释 :) - Brahim LAMJAGUAR

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接