javascript - ESLint 的 "consistent return"规则的值(value)主张是什么?

标签 javascript eslint

对于不需要显式返回任何内容的函数,始终返回一个值(“未定义”)有什么值(value)?

为什么这是一条规则,它会捕获哪些错误?


您可以阅读 ESLint 的“一致返回”规则 here (回答“是什么”,而不是“为什么”)。

您可以阅读关于为什么 javascript functions implicitly returns undefined 的推测性分析这里是堆栈溢出。

最佳答案

一些语言区分函数和过程。在类 C 语言中情况并非如此,但以这种方式设计子例程仍然是一个好主意。

linter 不希望您“总是返回一些东西”。它只是告诉您,如果您设计一个函数(而不是一个过程),它在任何情况下都必须返回一些有意义的东西(理想情况下,所有返回值必须是同一类型)。

例子:

function is_visible(object)

是一个函数,它应该返回一个值(在这种情况下是一个 bool 值)并且可以在表达式中使用。另一边

function make_visible(object)

是一个过程,它不应该返回任何东西,也不能用在表达式中——它总是一个语句。

这样的设计(以及相关的 linter 警告)极大地有助于防止像这样的错误(取自一些随机的互联网页面):

enter image description here

关于javascript - ESLint 的 "consistent return"规则的值(value)主张是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36208652/

相关文章:

javascript - 打开一个页面然后在上面调用一个 JS 函数(没有 onload)

javascript - 为什么初始化的 JavaScript 对象不包含原型(prototype)对象?

reactjs - React 站点警告 : The href attribute requires a valid address. 提供有效的可导航地址作为 href 值 jsx-a11y/anchor-is-valid

reactjs - 在 Typescript 中查找解构参数对象中未使用的属性

javascript - 'else' 之后不必要的 'return' 。 (不返回)

node.js - 尝试部署 Firebase 功能时出现 ESLint 错误

javascript - promise 的单一错误处理程序

javascript - 如何使用 JSP 创建标签式 Html 页面

javascript - 如何将 favicon 链接到随机 css 颜色?

eslint 安装警告。需要澄清