作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
对于不需要显式返回任何内容的函数,始终返回一个值(“未定义”)有什么值(value)?
为什么这是一条规则,它会捕获哪些错误?
您可以阅读 ESLint 的“一致返回”规则 here (回答“是什么”,而不是“为什么”)。
您可以阅读关于为什么 javascript functions implicitly returns undefined 的推测性分析这里是堆栈溢出。
最佳答案
一些语言区分函数和过程。在类 C 语言中情况并非如此,但以这种方式设计子例程仍然是一个好主意。
linter 不希望您“总是返回一些东西”。它只是告诉您,如果您设计一个函数(而不是一个过程),它在任何情况下都必须返回一些有意义的东西(理想情况下,所有返回值必须是同一类型)。
例子:
function is_visible(object)
是一个函数,它应该返回一个值(在这种情况下是一个 bool 值)并且可以在表达式中使用。另一边
function make_visible(object)
是一个过程,它不应该返回任何东西,也不能用在表达式中——它总是一个语句。
这样的设计(以及相关的 linter 警告)极大地有助于防止像这样的错误(取自一些随机的互联网页面):
关于javascript - ESLint 的 "consistent return"规则的值(value)主张是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36208652/
我有一个看起来像这样的类: class Foo { private IEnumerable bars; ... private void DoSomething() {
我是一名优秀的程序员,十分优秀!