易百教程

28、TypeScript是否支持函数重载(JavaScript 不支持函数重载)?

是的,TypeScript 支持函数重载。但是实现很奇怪。当我们在 TypeScript 中执行函数重载时,我们只能实现一个具有多个签名的函数。

//Function with string type parameter    
function add(a:string, b:string): string;    

//Function with number type parameter    
function add(a:number, b:number): number;    

//Function Definition    
function add(a: any, b:any): any {    
    return a + b;    
}

在上面的例子中,前两行是函数重载声明。它有两个重载。第一个签名有一个字符串类型的参数,而第二个签名有一个数字类型的参数。第三个函数包含实际的实现,并有一个类型为 any 的参数。任何数据类型都可以采用任何类型的数据。然后,实现检查所提供参数的类型,并根据供应商参数类型执行不同的代码。