Skip to content

Latest commit

 

History

History
29 lines (21 loc) · 2.78 KB

File metadata and controls

29 lines (21 loc) · 2.78 KB

Readonly 2 中等 #readonly #object-keys

by Anthony Fu @antfu

接受挑战    English 日本語 한국어

由谷歌自动翻译,欢迎 PR 改进翻译质量。

实现一个通用MyReadonly2<T, K>,它带有两种类型的参数TK

K指定应设置为Readonly的T的属性集。如果未提供K,则应使所有属性都变为只读,就像普通的Readonly<T>一样。

例如

interface Todo {
  title: string
  description: string
  completed: boolean
}

const todo: MyReadonly2<Todo, 'title' | 'description'> = {
  title: "Hey",
  description: "foobar",
  completed: false,
}

todo.title = "Hello" // Error: cannot reassign a readonly property
todo.description = "barFoo" // Error: cannot reassign a readonly property
todo.completed = true // OK

返回首页 分享你的解答 查看解答

相关挑战

7・实现 Readonly 9・深度 Readonly