newline-before-return
要求在 return
语句前有一个空行
🔧 可修复
此规则报告的某些问题可以通过 --fix
命令行 选项自动修复
关于空行是否应在 JavaScript 中 return
语句之前,没有硬性规定。但是,清楚地标明函数返回的位置可以大大提高代码的可读性和清晰度。例如
function foo(bar) {
var baz = 'baz';
if (!bar) {
bar = baz;
return bar;
}
return bar;
}
添加换行符可以明显地将 return 语句与前几行分隔开来,从而清楚地表明函数在哪里退出以及它返回什么值
function foo(bar) {
var baz = 'baz';
if (!bar) {
bar = baz;
return bar;
}
return bar;
}
规则详情
此规则要求在 return
语句前有一个空行以提高代码清晰度,除非 return
单独位于语句组内(例如 if 语句)。在后一种情况下,return
语句不需要被描绘,因为它本身是单独的。注释将被忽略,并且不计为空行。
此规则的 错误 代码示例
在 Playground 中打开
/*eslint newline-before-return: "error"*/
function foo1(bar) {
if (!bar) {
return;
}
}
function foo2(bar) {
if (!bar) {
return;
}
/* multi-line
comment */
}
此规则的 正确 代码示例
在 Playground 中打开
/*eslint newline-before-return: "error"*/
function foo1() {
return;
}
function foo2() {
return;
}
function foo3(bar) {
if (!bar) return;
}
function foo4(bar) {
if (!bar) { return };
}
function foo5(bar) {
if (!bar) {
return;
}
}
function foo6(bar) {
if (!bar) {
return;
}
return bar;
}
function foo7(bar) {
if (!bar) {
return;
}
}
function foo8() {
// comment
return;
}
何时不使用
如果您对 return
语句之前的空格没有任何严格的约定,则可以安全地禁用此规则。
相关规则
版本
此规则在 ESLint v2.3.0 中引入。