具有函数重载的TypeScript中的完全群集

时间:2017-07-13 23:12:17

标签: function typescript undefined overloading

我只是从here学习TypeScript,在Function Overloads部分,得到了一个'undefined'错误,就像我说我是TypeScript上的新手,不知道发生了什么以及如何解决它,请帮助!

以下是摘录:

function foo_overload(s: string): void;
function foo_overload(n: number, s: string): void;
function foo_overload(x: any, y?: any): void {
    console.log(x);
    console.log(y);
}

foo_overload("Jack")
foo_overload(50, "Zhao");

当我编译并执行它时,输出如下:

Jack
undefined
50
Zhao

未定义”是什么?

1 个答案:

答案 0 :(得分:1)

您的模式匹配效果很好,直到您点击function foo_overload(x: any, y?: any):

在该函数中,当您将y声明为可选时,使用y调用console.log(y),因此它返回undefined,就像在第一个函数调用中一样,您没有提供y值(杰克之后没有任何内容)。

希望它有所帮助!