在线文档教程
Eslint
规则 | Rules

function-paren-newline

在函数括号内强制执行一致的换行符( function-paren-newline )

--fix命令行上的选项可以自动修复一些被这条规则反映的问题。

许多样式指南要求或禁止功能括号内的换行符。

规则细节

此规则在函数参数或参数的括号内强制执行一致的换行符。

选项

这个规则有一个选项,它可以是一个字符串或一个对象。

  • "always" 需要在所有函数括号内换行。

  • "never" 禁止所有功能括号内的换行符。

  • "multiline"(默认)需要在函数圆括号内换行符,如果任何参数/参数之间有换行符。否则,它不允许换行符。

  • "consistent"要求每对圆括号一致地使用换行符。如果该对中的一个括号内有换行符,而另一个括号中没有换行符,则会报告错误。

  • { "minItems": value }如果参数/参数的数目至少为1,则需要在函数括号内换行value。否则,它不允许换行符。

示例配置:

{ "rules": { "function-paren-newline": ["error", "never"] } }

{ "rules": { "function-paren-newline": ["error", { "minItems": 3 }] } }

此规则的错误代码示例包含以下"always"选项:

/* eslint function-paren-newline: ["error", "always"] */ function foo(bar, baz) {} var foo = function(bar, baz) {}; var foo = (bar, baz) => {}; foo(bar, baz

此规则的正确代码示例包含以下"always"选项:

/* eslint function-paren-newline: ["error", "always"] */ function foo( bar, baz ) {} var foo = function( bar, baz ) {}; var foo = ( bar, baz ) => {}; foo( bar, baz

此规则的错误代码示例包含以下"never"选项:

/* eslint function-paren-newline: ["error", "never"] */ function foo( bar, baz ) {} var foo = function( bar, baz ) {}; var foo = ( bar, baz ) => {}; foo( bar, baz

此规则的正确代码示例包含以下"never"选项:

/* eslint function-paren-newline: ["error", "never"] */ function foo(bar, baz) {} function foo(bar, baz) {} var foo = function(bar, baz) {}; var foo = (bar, baz) => {}; foo(bar, baz foo(bar, baz

此规则的默认代码错误代码示例"multiline"

/* eslint function-paren-newline: ["error", "multiline"] */ function foo(bar, baz ) {} var foo = function( bar, baz ) {}; var foo = ( bar, baz) => {}; foo(bar, baz foo( function() { return baz; }

具有默认选项的此规则的正确代码示例"multiline"

/* eslint function-paren-newline: ["error", "multiline"] */ function foo(bar, baz) {} var foo = function( bar, baz ) {}; var foo = (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 foo = function(bar, baz ) {}; var foo = ( bar, baz) => {}; foo( bar, baz foo( function() { return baz; }

具有一致选项的此规则的正确代码示例"consistent"

/* eslint function-paren-newline: ["error", "consistent"] */ function foo(bar, baz) {} var foo = function(bar, baz) {}; var foo = ( bar, baz ) => {}; foo( bar, baz foo( function() { return baz; }

此规则的错误代码示例包含以下{ "minItems": 3 }选项:

/* eslint function-paren-newline: ["error", { "minItems": 3 }] */ function foo( bar, baz ) {} function foo(bar, baz, qux) {} var foo = function( bar, baz ) {}; var foo = (bar, baz) => {}; foo(bar, baz

此规则的正确代码示例包含以下{ "minItems": 3 }选项:

/* eslint function-paren-newline: ["error", { "minItems": 3 }] */ function foo(bar, baz) {} var foo = function( bar, baz, qux ) {}; var foo = ( bar, baz, qux ) => {}; foo(bar, baz foo( bar, baz, qux

何时不使用它

如果不想在功能圆括号内执行一致的换行符,请不要启用此规则。

版本

该规则是在 ESLint 4.6.0 中引入的。

资源