TypeScript - 对象属性只读

43 阅读1分钟

学习TypeScript记录

题目来自于:github.com/type-challe…

题目

不要使用内置的Readonly<T>,自己实现一个。

泛型 Readonly<T> 会接收一个 泛型参数,并返回一个完全一样的类型,只是所有属性都会是只读(readonly) 的。

也就是不可以再对该对象的属性赋值。

实现

type MyReadonly<T> = {
  readonly [key in keyof T]: T[key]
}

验证

image.png