实现 TS 内置的 Pick<T, K>

2024-01-08 21:35:12

?不使用?Pick<T, K>?,实现 TS 内置的?Pick<T, K>?的功能。

从类型?T?中选出符合?K?的属性,构造一个新的类型

例如:

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

type TodoPreview = MyPick<Todo, 'title' | 'completed'>

const todo: TodoPreview = {
    title: 'Clean room',
    completed: false,
}

解法:

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

文章来源:https://blog.csdn.net/content6/article/details/135465397
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。