ts重点学习90-条件类型笔记
原创
©著作权归作者所有:来自51CTO博客作者前端歌谣的原创作品,请联系作者获取转载授权,否则将追究法律责任
export default {}
// 1.条件类型基本使用
// type MyType<T> = T extends string ? string : any;
// type res = MyType<boolean>
// 2.函数重载
// interface IName {
// name: string;
// }
// interface IAge {
// age: number;
// }
// function reLoad(name: string): IName;
// function reLoad(age: number): IAge;
// function reLoad(nameorAge: string | number): IName | IAge;
// function reLoad(nameorAge: string | number): IName | IAge {
// throw ""
// }
// 3.条件类型优化函数重载
interface IName {
name: string;
}
interface IAge {
age: number;
}
type Condition<T> = T extends string ? IName : IAge;
function reLoad<T extends number | string>(nameOrAge: T): Condition<T> {
throw ""
}
reLoad("王丽坤");
reLoad(100);