TypeScript - 函数 - 函数重载

什么是函数重载

函数重载就是在定义函数时,
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

你可能感兴趣的:(TypeScript,typescript,javascript,函数,函数重载)