Skip to content

Latest commit

 

History

History
33 lines (23 loc) · 877 Bytes

Mutable.md

File metadata and controls

33 lines (23 loc) · 877 Bytes
标题 标签
Mutable(移除接口可读属性) readonly, key(可读, 属性)

移除接口可读属性。

  • 使用-操作符移除可读属性,重写接口,定义一个 K 属于 T 的属性,然后属性值就是T[K]

代码如下:

type Mutable<T> = {
  -readonly [K in keyof T]: T[K];
};

使用方式:

interface MutableTestTodo {
  readonly title: string;
  readonly description: string;
  readonly completed: boolean;
}

type MutableTodo = Mutable<MutableTestTodo>; // { title: string; description: string; completed: boolean; }

应用场景

如下所示, 鼠标悬浮到对应的类型变量可以查看类型。