联合类型
let phone:number | string = "123"
let fn = function (type:number | boolean):boolean {
return !!type
}
交叉类型
interface People {
name:string,
age: number
}
interface Man {
sex: number
}
const jack = (man:People & Man):void => {
console.log(man);
}
jack({
name:'jack',
age:22,
sex:0
})
类型断言
let fn = function (num:number | string):void {
console.log((num as string).length);
console.log((<string>num).length);
}
fn('123')
fn(13)
interface A {
run:string
}
interface B {
build: string
}
let fn = (type: A | B):void => {
console.log((type as A).run);
console.log((<A>type).run);
}
fn({
run:"run"
})
fn({
build:"build"
})