首页 > 解决方案 > Javascript函数:没有与返回未定义相同的返回语句?

问题描述

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

var f2 = () => {
};

var a = f1(); // undefined
var b = f2(); // undefined

我知道结果,但我想更深入地了解。这是否意味着在 Javascript 函数中,没有与 return 相同的 return 语句undefined

标签: javascript

解决方案


我知道结果,但我想更深入地了解。这是否意味着在 Javascript 函数中,没有return与 相同的语句return undefined

它是有效的,是的。该规范区分了这两者,但从务实的角度来看,调用一个“落到最后”的函数return;return undefined;所有的函数在调用结果方面具有完全相同的最终结果:undefined.

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


推荐阅读