📜  typescript readonly - TypeScript (1)

📅  最后修改于: 2023-12-03 15:20:43.081000             🧑  作者: Mango

TypeScript中的readonly关键字

在TypeScript中,readonly是一个关键字,用于定义只读的属性或变量。一旦一个属性或变量被标记为readonly,它就不能再被修改了。

语法
  • 定义只读属性:readonly propertyName: type = value;
  • 定义只读变量:readonly variableName: type = value;

其中,propertyNamevariableName是属性或变量的名称,type是它们的数据类型,value是它们的默认值。

示例
只读属性
class Person {
  readonly name: string;
  
  constructor(name: string) {
    this.name = name;
  }
}

const john = new Person('John');
john.name = 'Mark'; // Error: Cannot assign to 'name' because it is a read-only property.

在这个例子中,name被标记为只读属性,因此在对象被创建后,就不能再修改它的值。

只读变量
const PI: number = 3.14;
PI = 3; // Error: Cannot assign to 'PI' because it is a read-only property.

在这个例子中,PI被标记为只读变量,因此在赋值后,就不能再修改它的值。

注意事项
  • readonly只是针对变量或属性本身不可修改,而不是其属性值。
  • 如果变量或属性是对象类型,则对象本身不可修改,但其属性值是可修改的。
结论

readonly关键字在TypeScript中起到重要的作用,它可以确保对象或变量在声明后保持不变性,从而避免了一些不必要的错误。在编写代码时,应该充分利用readonly关键字来提高代码的可靠性和可维护性。