# newline-before-return
此规则在 ESLint v4.0.0 中已弃用,并被 padding-line-between-statements
规则取代。
关于 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
语句不需要单独描述。注释被忽略,不计为空行。
此规则的错误代码示例:
/*eslint newline-before-return: "error"*/
function foo(bar) {
if (!bar) {
return;
}
return bar;
}
function foo(bar) {
if (!bar) {
return;
}
/* multi-line
comment */
return bar;
}
此规则的正确代码示例:
/*eslint newline-before-return: "error"*/
function foo() {
return;
}
function foo() {
return;
}
function foo(bar) {
if (!bar) return;
}
function foo(bar) {
if (!bar) { return };
}
function foo(bar) {
if (!bar) {
return;
}
}
function foo(bar) {
if (!bar) {
return;
}
return bar;
}
function foo(bar) {
if (!bar) {
return;
}
}
function foo() {
// comment
return;
}
# 何时不使用
如果您对 return
语句之前的空格没有任何严格的约定,您可以安全地禁用此规则。