Skip to content
← Back to rules

unicorn/no-array-callback-reference 細部にこだわる

An auto-fix is available for this rule.

機能

イテレータメソッドに関数の参照を直接渡すことを禁止します

なぜ問題なのか?

関数をイテレータメソッドに渡すと、関数が変更された際に、イテレータがその関数にさらに2つのパラメータ(インデックスと配列)を渡していることに気づかずに、関数シグネチャが変更されてしまうことがあり、予期しない動作を引き起こす可能性があります。

このルールに対して誤りなコードの例:

js
const foo = array.map(callback);
array.forEach(callback);
const result = array.filter(lib.method);

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

js
const foo = array.map((element) => callback(element));
array.forEach((element) => {
  callback(element);
});
const result = array.filter((element) => lib.method(element));

// ビルトイン関数は許可されています
const foo = array.map(String);
const bar = array.filter(Boolean);

使用方法

設定ファイルまたは CLI でこのルールを有効化するには、以下のように使用できます:

json
{
  "rules": {
    "unicorn/no-array-callback-reference": "error"
  }
}
bash
oxlint --deny unicorn/no-array-callback-reference

参照