function-paren-newline
许多样式指南要求或禁止在函数圆括号内换行。
规则详细信息
此规则强制在函数参数或参数的圆括号内一致换行。
选项
此规则只有一个选项,可以是字符串或对象。
"always"
要求在所有函数圆括号内换行。"never"
禁止在所有函数圆括号内换行。"multiline"
(默认)要求在函数圆括号内换行,如果任何参数/参数之间有换行。否则,它禁止换行。"multiline-arguments"
与multiline
相同,但允许在函数圆括号内换行,如果只有一个参数/参数。"consistent"
要求对每对圆括号一致使用换行。如果一对圆括号中一个圆括号内有换行,而另一个圆括号内没有换行,则会报告错误。{ "minItems": value }
要求在函数圆括号内换行,如果参数/参数的数量至少为value
。否则,它禁止换行。
示例配置
json
{
"rules": {
"function-paren-newline": ["error", "never"]
}
}
json
{
"rules": {
"function-paren-newline": ["error", { "minItems": 3 }]
}
}
此规则使用 "always"
选项时,不正确代码示例
js
/* eslint @stylistic/function-paren-newline: ["error", "always"] */
function foo(bar, baz) {}
var qux = function(bar, baz) {};
var qux = (bar, baz) => {};
foo(bar, baz);
incorrect
此规则使用 "always"
选项时,正确代码示例
js
/* eslint @stylistic/function-paren-newline: ["error", "always"] */
function foo(
bar,
baz
) {}
var qux = function(
bar, baz
) {};
var qux = (
bar,
baz
) => {};
foo(
bar,
baz
);
correct
此规则使用 "never"
选项时,不正确代码示例
js
/* eslint @stylistic/function-paren-newline: ["error", "never"] */
function foo(
bar,
baz
) {}
var qux = function(
bar, baz
) {};
var qux = (
bar,
baz
) => {};
foo(
bar,
baz
);
incorrect
此规则使用 "never"
选项时,正确代码示例
js
/* eslint @stylistic/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);
correct
此规则使用默认 "multiline"
选项时,不正确代码示例
js
/* eslint @stylistic/function-paren-newline: ["error", "multiline"] */
function foo(bar,
baz
) {}
var qux = function(
bar, baz
) {};
var qux = (
bar,
baz) => {};
foo(bar,
baz);
foo(
function() {
return baz;
}
);
incorrect
此规则使用默认 "multiline"
选项时,正确代码示例
js
/* eslint @stylistic/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;
});
correct
此规则使用 "consistent"
选项时,不正确代码示例
js
/* eslint @stylistic/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;
});
incorrect
此规则使用 "consistent"
选项时,正确代码示例
js
/* eslint @stylistic/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;
}
);
correct
此规则使用 "multiline-arguments"
选项时,不正确代码示例
js
/* eslint @stylistic/function-paren-newline: ["error", "multiline-arguments"] */
function foo(bar,
baz
) {}
var foobar = function(bar,
baz
) {};
var foobar = (
bar,
baz) => {};
foo(
bar,
baz);
foo(
bar, qux,
baz
);
incorrect
此规则使用一致的 "multiline-arguments"
选项时,正确代码示例
js
/* eslint @stylistic/function-paren-newline: ["error", "multiline-arguments"] */
function foo(
bar,
baz
) {}
var qux = function(bar, baz) {};
var qux = (
bar
) => {};
foo(
function() {
return baz;
}
);
correct
此规则使用 { "minItems": 3 }
选项时,不正确代码示例
js
/* eslint @stylistic/function-paren-newline: ["error", { "minItems": 3 }] */
function foo(
bar,
baz
) {}
function foobar(bar, baz, qux) {}
var barbaz = function(
bar, baz
) {};
var barbaz = (
bar,
baz
) => {};
foo(
bar,
baz
);
incorrect
此规则使用 { "minItems": 3 }
选项时,正确代码示例
js
/* eslint @stylistic/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
);
correct
何时不使用它
如果不想强制在函数括号内一致的换行符,请不要启用此规则。