newline-before-return
要求在 return
語句前有一個空行
🔧 可修正
此規則報告的一些問題可以透過 --fix
命令列選項自動修正
此規則在 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 foo1(bar) {
if (!bar) {
return;
}
}
function foo2(bar) {
if (!bar) {
return;
}
/* multi-line
comment */
}
此規則的正確程式碼範例
在線上測試中開啟
/*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 中引入。