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
陳述式是單獨的,因此不需要劃分。註解會被忽略,不算作空行。
此規則的不正確程式碼範例
在遊樂場中開啟
/*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 中引入。