ts重点学习90-条件类型笔记

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);

posted @ 2022-09-30 20:41  前端导师歌谣  阅读(55)  评论(0)    收藏  举报