17. 对象部分属性只读

中等2

创建一个通用的工具类型 MyReadonly2<T, K> ,其中 T 是一个对象类型,类型 K 指定 T 中要被设置为只读(readonly)的属性。

如果未提供 K ,则应使所有属性都变为只读,就像 TypeScript 内置的工具类型 Readonly<T> 一样。

例如:

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

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

todo.title = "Hello" // Error: cannot reassign a readonly property
todo.description = "buddy" // Error: cannot reassign a readonly property
todo.completed = true // OK
评论(0)
题库

TypeScript

加载中...