Typescript中Readonly<T> 是什么&例子

发布时间 2023-12-11 10:38:10作者: 脆皮鸡

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 类型,它包含 nameage 两个属性。然后我们使用 Readonly<Person> 来创建一个新类型 ReadonlyPerson,该类型中的所有属性都被设为只读。在创建 person 对象时,我们发现无法修改 nameage 属性,因为它们已经被设为只读。

Readonly<T> 很适合用于确保对象在特定情况下不会被意外修改,从而增强代码的可靠性和安全性。