prefer-rest-params
Require rest parameters instead of arguments
在ES2015中,有剩余参数。
我们可以将该功能用于变量函数而不是 arguments
变量。
arguments
没有 Array.prototype
方法,所以不太方便。
规则细节
这条规则的目的是标记 arguments
变量的使用。
示例
使用此规则的错误示例:
Open in Playground
/*eslint prefer-rest-params: "error"*/
function foo() {
console.log(arguments);
}
function foo(action) {
var args = Array.prototype.slice.call(arguments, 1);
action.apply(null, args);
}
function foo(action) {
var args = [].slice.call(arguments, 1);
action.apply(null, args);
}
使用此规则的正确示例:
Open in Playground
/*eslint prefer-rest-params: "error"*/
function foo(...args) {
console.log(args);
}
function foo(action, ...args) {
action.apply(null, args); // or `action(...args)`, related to the `prefer-spread` rule.
}
// Note: the implicit arguments can be overwritten.
function foo(arguments) {
console.log(arguments); // This is the first argument.
}
function foo() {
var arguments = 0;
console.log(arguments); // This is a local variable.
}
何时不用
不应该在 ES3/5 环境中使用此规则。
在ES2015(ES6)或更高版本中,如果你不希望被通知到 arguments
变量,你可以安全地禁用此规则。
Related Rules
Version
This rule was introduced in ESLint v2.0.0-alpha-1.