function-paren-newline
強制函式括號內的一致換行
🔧 可修正
此規則報告的一些問題可由 --fix
命令列選項自動修正
此規則已在 ESLint v8.53.0 中棄用。請使用 @stylistic/eslint-plugin-js
中的對應規則。
許多樣式指南要求或禁止在函式括號內使用換行符。
規則詳細資訊
此規則強制函式參數或引數的括號內使用一致的換行符。
選項
此規則有一個選項,可以是字串或物件。
"always"
要求所有函式括號內都必須換行。"never"
禁止所有函式括號內換行。"multiline"
(預設) 如果任何參數/引數之間有換行,則要求函式括號內換行。否則,禁止換行。"multiline-arguments"
的運作方式與multiline
類似,但如果只有一個參數/引數,則允許在函式括號內換行。"consistent"
要求每對括號都一致使用換行符。如果一對括號中一個括號內有換行,而另一個括號沒有,則會報告錯誤。{ "minItems": value }
要求參數/引數的數量至少為value
時,函式括號內才換行。否則,禁止換行。
設定範例
{
"rules": {
"function-paren-newline": ["error", "never"]
}
}
{
"rules": {
"function-paren-newline": ["error", { "minItems": 3 }]
}
}
使用 "always"
選項時,此規則的不正確程式碼範例
在遊樂場中開啟
/* eslint function-paren-newline: ["error", "always"] */
function foobar, baz {}
var qux = functionbar, baz {};
var qux = bar, baz => {};
foo bar, baz;
使用 "always"
選項時,此規則的正確程式碼範例
在遊樂場中開啟
/* eslint function-paren-newline: ["error", "always"] */
function foo(
bar,
baz
) {}
var qux = function(
bar, baz
) {};
var qux = (
bar,
baz
) => {};
foo(
bar,
baz
);
使用 "never"
選項時,此規則的不正確程式碼範例
在遊樂場中開啟
/* eslint function-paren-newline: ["error", "never"] */
function foo
bar,
baz
{}
var qux = function
bar, baz
{};
var qux =
bar,
baz
=> {};
foo
bar,
baz
;
使用 "never"
選項時,此規則的正確程式碼範例
在遊樂場中開啟
/* eslint function-paren-newline: ["error", "never"] */
function foo(bar, baz) {}
function qux(bar,
baz) {}
var foobar = function(bar, baz) {};
var foobar = (bar, baz) => {};
foo(bar, baz);
foo(bar,
baz);
使用預設 "multiline"
選項時,此規則的不正確程式碼範例
在遊樂場中開啟
/* eslint function-paren-newline: ["error", "multiline"] */
function foobar,
baz
) {}
var qux = function
bar, baz
{};
var qux = (
bar,
baz => {};
foo bar,
baz;
foo
function() {
return baz;
}
;
使用預設 "multiline"
選項時,此規則的正確程式碼範例
在遊樂場中開啟
/* eslint function-paren-newline: ["error", "multiline"] */
function foo(bar, baz) {}
var foobar = function(
bar,
baz
) {};
var foobar = (bar, baz) => {};
foo(bar, baz, qux);
foo(
bar,
baz,
qux
);
foo(function() {
return baz;
});
使用 "consistent"
選項時,此規則的不正確程式碼範例
在遊樂場中開啟
/* eslint function-paren-newline: ["error", "consistent"] */
function foo(bar,
baz
{}
var qux = function(bar,
baz
{};
var qux = (
bar,
baz => {};
foo(
bar,
baz;
foo(
function() {
return baz;
};
使用 "consistent"
選項時,此規則的正確程式碼範例
在遊樂場中開啟
/* eslint function-paren-newline: ["error", "consistent"] */
function foo(bar,
baz) {}
var qux = function(bar, baz) {};
var qux = (
bar,
baz
) => {};
foo(
bar, baz
);
foo(
function() {
return baz;
}
);
使用 "multiline-arguments"
選項時,此規則的不正確程式碼範例
在遊樂場中開啟
/* eslint function-paren-newline: ["error", "multiline-arguments"] */
function foobar,
baz
) {}
var foobar = functionbar,
baz
) {};
var foobar = (
bar,
baz => {};
foo(
bar,
baz;
foo(
, qux,
baz
);
使用一致的 "multiline-arguments"
選項時,此規則的正確程式碼範例
在遊樂場中開啟
/* eslint function-paren-newline: ["error", "multiline-arguments"] */
function foo(
bar,
baz
) {}
var qux = function(bar, baz) {};
var qux = (
bar
) => {};
foo(
function() {
return baz;
}
);
使用 { "minItems": 3 }
選項時,此規則的不正確程式碼範例
在遊樂場中開啟
/* eslint function-paren-newline: ["error", { "minItems": 3 }] */
function foo
bar,
baz
{}
function foobarbar, baz, qux {}
var barbaz = function
bar, baz
{};
var barbaz =
bar,
baz
=> {};
foo
bar,
baz
;
使用 { "minItems": 3 }
選項時,此規則的正確程式碼範例
在遊樂場中開啟
/* eslint function-paren-newline: ["error", { "minItems": 3 }] */
function foo(bar, baz) {}
var foobar = function(
bar,
baz,
qux
) {};
var foobar = (
bar, baz, qux
) => {};
foo(bar, baz);
foo(
bar, baz, qux
);
何時不使用它
如果您不想強制函式括號內使用一致的換行符,請不要開啟此規則。
版本
此規則是在 ESLint v4.6.0 中引入的。