TypeScript Utility Types - Pick: TypeScript 实用类型 - Pick
Pick<Type, Keys>
可从类型中选取一组属性键来构造类型。以下面的 User
类型为例:
1 | type User = { |
经 Pick<Type, Keys>
转换后得到:
1 | type User = { |
转换后的 PickUser
类型与下面的类型是等价的:
1 | type PickUser = { |
那么,Pick<Type, Keys>
是如何转换类型的呢?我们通过它的类型定义来分析一下:
1 | /** |
结合上面的示例,Pick
类型定义中的泛型 T
就是我们刚才定义的类型 User
,后面的 K extends keyof T
则表示泛型 K
继承自联合类型 keyof T
,由此可以得出泛型 K
是一个联合类型。
通过关键字 in
来遍历联合类型 K
,将联合类型中的每个成员作为 key,通过方括号语法访问类型 T
中该成员对应的值,即 T[P]
。
以上就是 Pick<Type, Keys>
的用法和类型定义的解析,欢迎在下方留言交流。