面试题答案
一键面试定义只读属性
在TypeScript中,通过在属性名前加上 readonly
关键字来定义只读属性。例如:
interface Point {
readonly x: number;
readonly y: number;
}
在不可变数据结构中的应用
const point: Point = { x: 10, y: 20 };
// 这里的point对象的x和y属性是只读的
修改只读属性的结果
如果尝试修改只读属性,TypeScript编译器会报错。例如:
point.x = 30; // 报错:无法分配到 "x" ,因为它是只读属性。
在运行时,严格模式下尝试修改只读属性会抛出 TypeError
异常,非严格模式下不会报错但修改操作不会生效。