摘要: 阅读全文
posted @ 2022-09-30 20:41 前端导师歌谣 阅读(20) 评论(0) 推荐(0)
摘要: export default {} // 旧的接口 interface IPerson { name: string; age: number; } // 只读 type ReadonlyTest<T> = { // 遍历指定类型所有的key,并添加到当前类型上 // obj = {a: 1} ob 阅读全文
posted @ 2022-09-30 20:41 前端导师歌谣 阅读(42) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2022-09-30 20:41 前端导师歌谣 阅读(39) 评论(0) 推荐(0)
摘要: export default {} // 假如想获取数组里的元素类型。如果是数组则返回数组中元素的类型 // 否则返回这个类型本身 type ID = number[]; type IName = string[]; type Unpacked<T> = T extends IName ? stri 阅读全文
posted @ 2022-09-30 20:41 前端导师歌谣 阅读(31) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2022-09-30 20:41 前端导师歌谣 阅读(32) 评论(0) 推荐(0)
摘要: 、 阅读全文
posted @ 2022-09-30 20:41 前端导师歌谣 阅读(22) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2022-09-30 20:41 前端导师歌谣 阅读(33) 评论(0) 推荐(0)
摘要: export default {} // type MyType<T> = T extends any ? T : never; // type res = MyType<string | number | boolean>; // 从 T 中提出可以赋值给U的类型。 Exclude // type 阅读全文
posted @ 2022-09-30 20:41 前端导师歌谣 阅读(23) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2022-09-30 20:41 前端导师歌谣 阅读(23) 评论(0) 推荐(0)
摘要: export default {} // 1.条件类型基本使用 // type MyType<T> = T extends string ? string : any; // type res = MyType<boolean> // 2.函数重载 // interface IName { // n 阅读全文
posted @ 2022-09-30 20:41 前端导师歌谣 阅读(55) 评论(0) 推荐(0)