Javascript函数:没有返回语句相同的返回undefined?

ski*_*lly 1 javascript

var f1 = () => {
    return undefined;
};

var f2 = () => {
};

var a = f1(); // undefined
var b = f2(); // undefined
Run Code Online (Sandbox Code Playgroud)

我知道结果,但我想更深入地了解.这是Javascript函数的意思,没有返回语句相同的返回undefined

T.J*_*der 5

我知道结果,但我想更深入地了解.这是Javascript函数的意思,没有return相同的声明return undefined

实际上是的.规范区分了两者,但从实用的角度来看,调用一个"落后"而return;不是return undefined;全部的函数在调用结果的方面具有完全相同的最终结果:undefined.

我对dupetarget的回答中 (我应该已经实现了!)我解释了规范如何区分它们,但同样,它只是一个规范的区别,而不是你在实际代码中可以观察到的东西.