什么是函数重载
函数重载就是在定义函数时,
1.函数名相同;
2.函数参数的个数 or 函数参数的类型不同
满足以上两个条件就叫做【函数重载】
ts中的函数重载如何实现
根据函数重载的定义,实现起来需要有两个步骤:
1.声明多个函数的签名【函数的签名就是只声明函数的名称、参数、返回值,没有函数体】;
2.根据不同的函数签名,实现 【具有 兼容性】的 函数体。
特别注意一下
函数在实现的时候,参数列表、返回值类型 必须兼容所有的函数签名,否则是会报错的!
函数在实现的时候,参数列表、返回值类型 必须兼容所有的函数签名,否则是会报错的!
函数在实现的时候,参数列表、返回值类型 必须兼容所有的函数签名,否则是会报错的!
写一个看看
function fun4(x:string,y:string):string
function fun4(x:number,y:number):number
function fun4 (x:string|number,y:string|number):string|number {
if(typeof x == 'string' && typeof y == 'string'){
return x+y;
}else if(typeof x == 'number' && typeof y == 'number'){
return x+y
}else{
return x.toString()+'-'+y.toString()
}
}
console.log(fun4('Hello ','World!'))
console.log(fun4(200,100))
执行结果:
Hello World!
300