eslint/prefer-rest-params スタイル
何をするか
arguments オブジェクトの使用を禁止し、代わりにレストパラメータの使用を強制します。
なぜ問題なのか
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