类型别名的概念:
类型别名类似于自定义类型,用法类似给数据定义一个范围,在使用这个类型的时候,这个类型只能在这写指定类型中使用,
type str = string; //字符串类型
type fnStr = () => string //函数类型,且返回值为字符串类型
type num = 1 | 2 | 3 | 4 | 5 //这个类型为或的关系的多种值,且都为数字
let s1: str = 111 //报错,类型错误
let s: str = 'aaa' //正确
let fn0: fnStr = 111 //报错,因为fn返回值必须是函数
let fn: fnStr = 'aa' //报错,因为fn必须是函数
let fn1:fnStr=()=>100 //报错,因为fn必须返回string
let fn2: fnStr = () => 'aa' //正确,因为fnStr是函数,且返回了字符串
let numData: num = 100 //报错,因为100不是num范围内的数据
let numData1:num = 1 //正确
通过类型别名,定义对象规定可以包含哪些属性,而且必须包含
type obj={
name:string,
num:number
}
const dat:obj{
name:'aaa'
}
//报错,因为这里使用了obj这个类型,这里定义dat对象没有全部定义obj的属性, 所以报错
泛型类型别名