eslint/prefer-rest-params 风格
它的作用
禁止使用 arguments 对象,而是强制使用剩余参数(rest parameters)。
为什么这是不好的?
arguments 对象没有来自 Array.prototype 的方法,因此在进行类似数组的操作时非常不方便。
使用剩余参数可以更直观、高效地处理可变数量的参数。
示例
此规则的 错误 代码示例:
javascript
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);
}此规则的 正确 代码示例:
javascript
function foo(...args) {
console.log(args);
}
function foo(action, ...args) {
action.apply(null, args); // 或使用 `action(...args)`(与 `prefer-spread` 规则相关)。
}
// 注意:隐式的 `arguments` 可能会被遮蔽。
function foo(arguments) {
console.log(arguments); // 这指的是第一个参数。
}
function foo() {
var arguments = 0;
console.log(arguments); // 这是一个局部变量。
}如何使用
要通过配置文件或 CLI 启用 此规则,可以使用:
json
{
"rules": {
"prefer-rest-params": "error"
}
}bash
oxlint --deny prefer-rest-params