【问题标题】:Declare a constant in a Typescript Class在 Typescript 类中声明一个常量
【发布时间】:2018-07-23 10:15:36
【问题描述】:

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

【问题讨论】:

标签: typescript class static constants


【解决方案1】:

你不能声明一个常量,你可以声明一个 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 声明。

【讨论】:

  • 谢谢你的回答提香这就是我正在寻找的解释:)
猜你喜欢
  • 2019-06-02
  • 2014-02-07
  • 2013-12-17
  • 2010-10-30
  • 1970-01-01
  • 2011-12-27
  • 1970-01-01
  • 2019-07-27
相关资源
最近更新 更多