使用type类型别名
function sum(x:number,y:number):number{return x+y}const sum1:(x:number,y:number)=>number = sumtype PlusType = (x:number,y:number)=>numberconst sum2:PlusType = sum
类型断言
type NameResolver = ()=>string
type NameOrResolver = string | NameResolver
function getName(input:NameOrResolver):string{
if(typeof input==='input'){
return input
}else{
return input()
}
}
使用as做类型转换
function getLength(input:string|number):number{
let str = input as String
if(str.length){
return str
}else{
let num = input as Number
return num.toString().length
}
}
使用泛型来转换
function getLength(input:string|number):number{
if((<string>input).length){
return (<string>input).length
}else{
return input.toString().length
}
}
