- 公式: 变量名:类型 = 赋值
- 联合类型(或的关系)
- 缺点:返回值提示类型很模糊
function reverse_union(x:string | number):string|number|void{
}
function reverse(x:number):number{}
function reverse(x:string):string{}
function reverse(x:string | number):string|number|void{}
interface RandomKeyArr{
[propName: number]:string
}
const obj3:RandomKeyArr = ['1','2']
interface RandomIntroduce{
name:string,
age:number,
[propName:string]:string | number | undefined
}
const randomPerson:RandomIntroduce = {
name:'wang',
age:23,
like:'swim',
cook:'good'
}
interface IWake{
wakeUp():void
}
interface IMusic{
playMusic():void
}
class Alarm implements IWake,IMusic{
wakeUp():void{
}
playMusic():void{}
}
interface ISmartAudio extends IWake,IMusic{
controlSomething():void
}
class Smart implements ISmartAudio{
controlSomething():void{}
wakeUp():void{
}
playMusic():void{}
}
function printT<T>(arg:T):T{
}
printT<number>(123)
泛型约束接口
interface ILength{
length:number
}
function logLength<T extends ILength>(arg:T):T{
}