使用剩余参数代替 arguments (prefer-rest-params)
使用剩余参数代替 arguments
(prefer-rest-params)
剩余参数来自于ES2016。可以在可变函数中使用这个特性来替代arguments
变量。
arguments
没有Array.prototype
方法,所以使用起来有一点麻烦。
详细规则
这条规则旨在标记arguments
变量。
例子
- 不正确的例子
function foo() {
console.log(arguments);
}
function foo(action) {
var args = [].slice.call(arguments, 1);
action.apply(null, args);
}
- 正确的例子
function foo(...args) {
console.log(args);
}
function foo(action, ...args) {
action.apply(null, args); // or `action(...args)`, 参照 `prefer-spread`(展开操作规则).
}
// Note: 内建arguments变量可以被覆盖
function foo(arguments) {
console.log(arguments); // 第一个参数.
}
function foo() {
var arguments = 0;
console.log(arguments); // 本地变量
}
什么时候不使用它
这条规则不能被用在ES3/5
的环境下。
在ES2015 (ES6)
或者之后的环境,如果不能被提醒arguments
变量,你可以关闭它。