摘要: 题目 中文 实现一个通用的RequiredByKeys<T, K>,它接收两个类型参数T和K。 K指定应设为必选的T的属性集。当没有提供K时,它就和普通的Required<T>一样使所有的属性成为必选的。 例如: interface User { name?: string; age?: numbe 阅读全文
posted @ 2022-09-21 19:52 Laggage 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 题目 中文 实现一个通用的PartialByKeys<T, K>,它接收两个类型参数T和K。 K指定应设置为可选的T的属性集。当没有提供K时,它就和普通的Partial<T>一样使所有属性都是可选的。 例如: interface User { name: string; age: number; a 阅读全文
posted @ 2022-09-21 19:31 Laggage 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 题目 中文 实现EndsWith<T, U>,接收两个 string 类型参数,然后判断T是否以U结尾,根据结果返回true或false 例如: type a = EndsWith<'abc', 'bc'>; // expected to be false type b = EndsWith<'ab 阅读全文
posted @ 2022-09-21 00:57 Laggage 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 题目 中文 实现StartsWith<T, U>,接收两个 string 类型参数,然后判断T是否以U开头,根据结果返回true或false 例如: type a = StartsWith<'abc', 'ac'>; // expected to be false type b = StartsWi 阅读全文
posted @ 2022-09-21 00:53 Laggage 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题目 中文 找出T中类型为U的属性 示例: type OnlyBoolean = PickByType< { name: string; count: number; isReadonly: boolean; isEnable: boolean; }, boolean >; // { isReado 阅读全文
posted @ 2022-09-21 00:44 Laggage 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 题目 中文 实现 RemoveIndexSignature<T>, 将索引字段从对象中排除掉. 示例: type Foo = { [key: string]: any; foo(): void; }; type A = RemoveIndexSignature<Foo>; // expected { 阅读全文
posted @ 2022-09-21 00:41 Laggage 阅读(97) 评论(0) 推荐(0) 编辑