老师,关于函数重载这里不太明白
相关代码:
function result6(a: number): string; function result6(a: number, b: number): string; function result6( a: number, b?: number ) { if (b !== undefined) { return (a + b).toString() } else { return a } } result6(100) result6(100, 200)
问题描述:
为什么这里直接返回数字类型没有报错
相关代码:
function result6(a: number): string; function result6(a: number, b: number): string; function result6( a: number, b?: number ) { if (b !== undefined) { return '123' } else { return a } } result6(100) result6(100, 200)
问题描述:
这里把返回值是一个跟ab无关的普通字符串又为啥报错了
32
收起
正在回答
1回答
同学你好,解答如下:
同学粘贴的这段代码中,函数重载是没有意义的,如果只是传入的参数不同,而函数的返回值类型相同,那么就不需要使用函数重载,可以使用可选参数来代替函数重载的定义,此时才会与预期结果一致,如图
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星