【发布时间】:2016-10-25 03:14:19
【问题描述】:
我写了一个函数,基本上是这样的:
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”会更好吗?
我可以将任何我想要的东西传回去 - 显然......我只是不确定什么是最好的使用。
调用此函数的代码知道如何处理 undefined(除非出现可怕的错误,否则它实际上永远不会真正发生)
我问这个问题的原因是我在某个地方听到了一些听起来像“不要将未定义的变量分配给变量”之类的东西 - 这会使调试变得更加困难。因此,我可以看到 null 被传回的事实告诉我返回正在工作 - 但基本上功能类似于 undefined。
文档:
Mozilla Docs 没有回答我的问题...谷歌也没有:\
This SO Question - 对于我在这里想要弄清楚的内容来说太宽泛了。
【问题讨论】:
-
这不是SO Question 的答案吗?
-
在我看来,返回
null。将undefined留给 JavaScript 本身。但是,没有“更好”,所以这是一个见仁见智的问题。 -
@warkentien2 谢谢,这很有帮助 - 但我仍然不清楚从 getter 函数返回的约定是什么。
-
我将
null读作“你所要求的东西没有合适的价值”,undefined读作“我无法计算出你所要求的东西”。跨度> -
@warkentien2 那个问题和我在回答中链接的那个问题是相关的,但两者似乎都在问 what 是它们之间的区别而不是 when 使用一个或另一个作为返回值。
标签: javascript function null return undefined