类型别名
有时候例如函数类型或者联合类型字符串过长,使用时候很是繁琐,可以像定义变量一样给他定义别名,使用type关键字
type echo = (x: number, y:number) => number
function add(x:number, y:number) :number{
return x + y
}
const add2: echo = add
类型断言
在联合类型中我们只能使用二者共有的属性或者方法,如果访问非公有属性,编辑器你就会报错,此时我们就可以预判类型,自己断言这个变量的类型
function test(data:number | string){
console.log(data.indexOf('h'));
}
// 如果直接访问字符串的indexOf方法就会报错,因为此属性不属于二者公有
function test(data:number | string){
const str = data as string
console.log(str.indexOf('h'));
}