function-paren-newline
强制函数括号内使用一致的换行符
🔧 可修复
此规则报告的一些问题可以通过 --fix
命令行 选项自动修复
许多样式指南要求或禁止在函数括号内使用换行符。
规则详情
此规则强制函数参数或实参的括号内使用一致的换行符。
选项
此规则有一个选项,可以是字符串或对象。
"always"
要求所有函数括号内都使用换行符。"never"
禁止所有函数括号内使用换行符。"multiline"
(默认)要求如果任何参数/实参之间有换行符,则函数括号内使用换行符。 否则,禁止使用换行符。"multiline-arguments"
的工作方式类似于multiline
,但允许在只有一个参数/实参时在函数括号内使用换行符。"consistent"
要求每对括号对换行符的使用保持一致。 如果一对括号中一个有换行符,而另一个没有,则会报告错误。{ "minItems": value }
要求如果参数/实参的数量至少为value
,则函数括号内使用换行符。 否则,禁止使用换行符。
示例配置
{
"rules": {
"function-paren-newline": ["error", "never"]
}
}
{
"rules": {
"function-paren-newline": ["error", { "minItems": 3 }]
}
}
使用 "always"
选项时,不正确 代码示例
在 Playground 中打开
/* eslint function-paren-newline: ["error", "always"] */
function foobar, baz {}
var qux = functionbar, baz {};
var qux = bar, baz => {};
foo bar, baz;
使用 "always"
选项时,正确 代码示例
在 Playground 中打开
/* eslint function-paren-newline: ["error", "always"] */
function foo(
bar,
baz
) {}
var qux = function(
bar, baz
) {};
var qux = (
bar,
baz
) => {};
foo(
bar,
baz
);
使用 "never"
选项时,不正确 代码示例
在 Playground 中打开
/* eslint function-paren-newline: ["error", "never"] */
function foo
bar,
baz
{}
var qux = function
bar, baz
{};
var qux =
bar,
baz
=> {};
foo
bar,
baz
;
使用 "never"
选项时,正确 代码示例
在 Playground 中打开
/* 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"
选项时,不正确 代码示例
在 Playground 中打开
/* 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"
选项时,正确 代码示例
在 Playground 中打开
/* 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"
选项时,不正确 代码示例
在 Playground 中打开
/* 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"
选项时,正确 代码示例
在 Playground 中打开
/* 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"
选项时,不正确 代码示例
在 Playground 中打开
/* 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"
选项时,正确 代码示例
在 Playground 中打开
/* 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 }
选项时,不正确 代码示例
在 Playground 中打开
/* 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 }
选项时,正确 代码示例
在 Playground 中打开
/* 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 中引入。