来跳个 TypeScript 类型体操吧
本文是 type-challenges 的个人解答以及知识点串联。
实现 Pick
export type MyPick<T, K extends keyof T> = {
[P in K]: T[P];
};
实现 ReadOnly
export type MyReadOnly<T> = {
readonly [K in keyof T]: T[K];
};
第一个元素 & 末尾最后一个元素
export type FirstT<T extends any[]> = T extends [] ? never : T[0];
// infer 用于推断类型
export type LastT<T extends any[]> = T extends [...infer Rest, infer Last]
? Last
: never;
赠人玫瑰, 手有余香。🌹
打赏
特别鸣谢
感谢以下用户对本文的支持与鼓励
加载打赏用户中
发表评论
文章评论
暂无任何评论,快去发表吧~