我编写了一个函数,基本上如下所示:
function getNextCard(searchTerms) {
// Setup Some Variables
// Do a bunch of logic to pick the next card based on termed passed through what I'll call here as 'searchTerms' all of this logic is omitted because it's not important for my question.
// ...
// If we find a next card to give, than give it
if (nextCardFound)
return nextCardFound;
// Otherwise - I'm returning undefined
return undefined;
}
问题:这里返回“null”会更好吗?
我可以传递任何我想要的东西 - 显然......我只是不确定什么是最好的使用方式。
调用此函数的代码知道如何处理未定义的情况(实际上它永远不会真正发生,除非出现严重错误)
我问这个问题的原因是我在某个地方听到了一些听起来像“不要将未定义的变量分配给变量”之类的东西 - 这将使调试变得更加困难。所以,事实上我可以看到null
传回告诉我返回正在工作 - 但基本上功能类似于undefined
.
文档:
Mozilla 文档 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined没有回答我的问题...谷歌也没有:\
这个问题 https://stackoverflow.com/questions/6604749/what-reason-is-there-to-use-null-instead-of-undefined-in-javascript- 对于我在这里试图弄清楚的内容来说太宽泛了。
未定义通常是指尚未分配值的内容。 Null 指的是绝对没有价值的东西。在这种情况下,我建议返回 null。请注意,没有指定返回值的函数隐式返回 undefined。
来自 ECMAScript2015 规范
4.3.10 未定义值
当变量尚未赋值时使用的原始值
4.3.12 空值
表示的原始值
故意不存在任何对象价值
http://www.ecma-international.org/ecma-262/6.0/#sec-terms-and-definitions-undefined-type http://www.ecma-international.org/ecma-262/6.0/#sec-terms-and-definitions-undefined-type
进一步阅读:
JavaScript 中何时使用 null 或 undefined? https://stackoverflow.com/questions/6429225/javascript-null-or-undefined
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)