摘要:在本教程中,您将学习如何使用 TypeScript 的readonly访问修饰符将类属性标记为不可变属性。
TypeScript 提供了readonly修饰符,允许您将类的属性标记为不可变的。对readonly属性的赋值只能在以下两个地方之一进行
- 在属性声明中。
- 在同一类的构造函数中。
要将属性标记为不可变,请使用readonly关键字。以下显示了如何在Person类中声明readonly属性
class Person {
readonly birthDate: Date;
constructor(birthDate: Date) {
this.birthDate = birthDate;
}
}Code language: JavaScript (javascript)在此示例中,birthdate属性是一个readonly属性,在Person类的构造函数中进行初始化。
以下尝试重新赋值birthDate属性,这会导致错误
let person = new Person(new Date(1990, 12, 25));
person.birthDate = new Date(1991, 12, 25); // Compile errorCode language: JavaScript (javascript)错误
Cannot assign to 'birthDate' because it is a read-only property.Code language: JavaScript (javascript)与其他访问修饰符一样,您可以像这样在构造函数中合并readonly属性的声明和初始化
class Person {
constructor(readonly birthDate: Date) {
}
}Code language: JavaScript (javascript)readonly 与 const
以下显示了readonly和const之间的区别
readonly | const | |
| 用途 | 类属性 | 变量 |
| 初始化 | 在声明中或同一类的构造函数中 | 在声明中 |
总结
- 使用
readonly访问修饰符将类属性标记为不可变。 readonly属性必须作为声明的一部分或在同一类的构造函数中进行初始化。
本教程是否有帮助?