联合类型 有时候数据既可能是数值类型也可能是字符类型,联合类型是取并集 let phone:number | string = '123456' 强转布尔类型 !!str 交叉类型 &
interface People{
name: string,
age:number
}
interface Man{
sex:number
}
const xiaoman = (man:People & Man):void => {
console.log(man)
}
xiaoman({
name:'xm',
age:18,
sex:1
})
类型断言 断言只能欺骗编译器,不能改变最终结果
const fn = (num:number | string):void => {
console.log((num as string).length)
}
fn(123)
interface A{
run:string
}
interface B{
build:string
}
let fn = (type:A | B):void =>{
console.log((<A>type).run)
console.log((type as A).run)
}
任何对象断言成any类型就可以挂任何属性