TypeScript 面试题
目录

请解释类的只读属性 (Readonly Properties) 的用法

· 约 3 分钟读完 · 第 27 / 256 章

推荐答案

在 TypeScript 中,类的只读属性(Readonly Properties)是指在类中定义的属性,一旦初始化后就不能再被修改。只读属性通过在属性前添加 readonly 关键字来声明。

在上面的例子中,name 属性被声明为只读属性,因此在构造函数中初始化后,不能再对其进行修改。

本题详细解读

1. 只读属性的声明

只读属性通过在属性名前添加 readonly 关键字来声明。这意味着该属性只能在声明时或构造函数中被赋值,之后不能再被修改。

2. 只读属性的初始化

只读属性可以在声明时直接初始化,或者在构造函数中进行初始化。如果在声明时没有初始化,则必须在构造函数中进行初始化。

3. 只读属性的限制

一旦只读属性被初始化后,就不能再对其进行修改。尝试修改只读属性会导致编译错误。

4. 只读属性与常量

只读属性与常量(const)有相似之处,但它们的应用场景不同。常量通常用于全局或模块级别的不可变值,而只读属性通常用于类实例中的不可变属性。

5. 只读属性的使用场景

只读属性通常用于表示那些在对象生命周期内不会改变的属性,例如对象的唯一标识符、创建时间等。

通过使用只读属性,可以确保这些属性在初始化后不会被意外修改,从而提高代码的安全性和可维护性。