Skip to content
← Back to rules

oxc/bad-array-method-on-arguments 正しさ

This rule is turned on by default.

何を行うか

このルールは、arguments オブジェクト自体に対して配列メソッドが呼び出された場合に適用されます。

なぜ問題か

arguments オブジェクト は配列ではなく、配列に似たオブジェクトです。配列メソッドを呼び出す前に、実際の配列に変換する必要があります。そうでない場合、メソッドが存在しないため TypeError 例外が発生します。

なお、型チェック時にこれらのエラーを検出するため、純粋に TypeScript を使用している場合は、このルールが必要ない可能性があります。

arguments の使用は現代の JavaScript では一般的に推奨されておらず、代わりにレストパラメータを使用すべきです。たとえば function sum(...args) のように書くべきです。

このルールにおいて誤りなコードの例:

javascript
function add(x, y) {
  return x + y;
}
function sum() {
  return arguments.reduce(add, 0);
}

このルールにおいて正しいコードの例:

javascript
function add(x, y) {
  return x + y;
}

function sum(...args) {
  return args.reduce(add, 0);
}

使い方

設定ファイルまたは CLI でこのルールを有効化するには、次のようにします:

json
{
  "rules": {
    "oxc/bad-array-method-on-arguments": "error"
  }
}
bash
oxlint --deny oxc/bad-array-method-on-arguments

参照