Readonly<T>
是 TypeScript 中的一个预定义类型操作工具,用于将给定类型 T
中的所有属性设置为只读。这意味着创建的新类型将具有与原始类型相同的属性,但这些属性在新类型中是只读的,不可修改。
下面是一个示例:
type Person = {
name: string;
age: number;
};
type ReadonlyPerson = Readonly<Person>;
const person: ReadonlyPerson = {
name: 'Alice',
age: 30,
};
// 错误示例:无法修改只读属性
person.name = 'Bob'; // 这里会报编译错误
在这个例子中,我们定义了一个 Person
类型,它包含 name
和 age
两个属性。然后我们使用 Readonly<Person>
来创建一个新类型 ReadonlyPerson
,该类型中的所有属性都被设为只读。在创建 person
对象时,我们发现无法修改 name
或 age
属性,因为它们已经被设为只读。
Readonly<T>
很适合用于确保对象在特定情况下不会被意外修改,从而增强代码的可靠性和安全性。