以下为ChatGPT自动生成的解答,正确与否请自行判断。

BFE.devAI解答 - TypeScript 类型谜题
5. 实现Pick<T, K>

type MyPick<T, K extends keyof T> = {
  [P in K]: T[P]
}

解释:

  • MyPick<T, K>:定义一个泛型类型,接受两个参数,T表示原始类型,K表示需要选取的属性集合。
  • K extends keyof T:使用extends关键字限制K的类型,K必须是T的key中的一项,即K是原始类型T中的一项属性名。
  • [P in K]: T[P]:定义一个新类型,该类型包含K中所有属性的值(属性名为P),即选取T中K属性对应的值。