🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
>[success] # Readonly -- 所有属性只读 ~~~ 1.所有属性只读操作 ~~~ >[danger] ##### 源码 ~~~ type Readonly<T> = { readonly [P in keyof T]: T[P]; }; ~~~ >[danger] ##### 使用 ~~~ type Person = { name: string age?: number } const person: Readonly<Person> = { name: 'w', age: 1, } person.age = 2 // 报错现在只读 ~~~ >[danger] ##### 让深层次属性只读 ~~~ type DeepReadonly<T> = { [P in keyof T]: T[P] extends object ? DeepReadonly<T[P]> : T[P] } ~~~