【TypeScript】TS进阶-函数重载
// 定义函数重载
function reverse(x: number): number;
function reverse(x: string): string;
function reverse(x: number | string): number | string {
if (typeof x === 'number') {
// 数字类型的处理逻辑
return Number(x.toString().split('').reverse().join(''));
} else if (typeof x === 'string') {
// 字符串类型的处理逻辑
return x.split('').reverse().join('');
}
}
// 测试代码
console.log(reverse(123)); // 输出321
console.log(reverse('hello')); // 输出olleh
这段代码首先定义了一个名为reverse
的函数,它接受一个number
或者string
类型的参数,并返回一个number
或string
类型的结果。通过使用函数重载,我们可以为相同的函数提供不同的类型签名,从而使编译器能够根据传入参数的类型检测函数的使用方式。在函数体内,我们根据传入参数的类型来执行不同的逻辑,并返回相应类型的结果。最后,提供了一些测试代码来验证函数的正确性。
评论已关闭