首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

function-paren-newline

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

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

规则细节

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

选项

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

  • "always" 需要在所有函数括号内换行。
  • "never" 禁止所有功能括号内的换行符。
  • "multiline"(默认)需要在函数圆括号内换行符,如果任何参数/参数之间有换行符。否则,它不允许换行符。
  • "consistent"要求每对圆括号一致地使用换行符。如果该对中的一个括号内有换行符,而另一个括号中没有换行符,则会报告错误。
  • { "minItems": value }如果参数/参数的数目至少为1,则需要在函数括号内换行value。否则,它不允许换行符。

示例配置:

代码语言:javascript
复制
{
  "rules": {
    "function-paren-newline": ["error", "never"]
  }
}
代码语言:javascript
复制
{
  "rules": {
    "function-paren-newline": ["error", { "minItems": 3 }]
  }
}

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

代码语言:javascript
复制
/* eslint function-paren-newline: ["error", "always"] */

function foo(bar, baz) {}

var foo = function(bar, baz) {};

var foo = (bar, baz) => {};

foo(bar, baz);

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

代码语言:javascript
复制
/* eslint function-paren-newline: ["error", "always"] */

function foo(
  bar,
  baz
) {}

var foo = function(
  bar, baz
) {};

var foo = (
  bar,
  baz
) => {};

foo(
  bar,
  baz
);

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

代码语言:javascript
复制
/* eslint function-paren-newline: ["error", "never"] */

function foo(
  bar,
  baz
) {}

var foo = function(
  bar, baz
) {};

var foo = (
  bar,
  baz
) => {};

foo(
  bar,
  baz
);

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

代码语言:javascript
复制
/* 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"

代码语言:javascript
复制
/* 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"

代码语言:javascript
复制
/* 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"选项:

代码语言:javascript
复制
/* 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"

代码语言:javascript
复制
/* 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 }选项:

代码语言:javascript
复制
/* 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 }选项:

代码语言:javascript
复制
/* 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 中引入的。

资源

扫码关注腾讯云开发者

领取腾讯云代金券