unicorn/no-array-for-each 制限
何ができるか
Array#forEach の使用を禁止し、代わりに for ループを使用することを推奨します。
なぜ悪いのか
for…of 文 は forEach メソッドに比べて以下の利点があります:
- より高速
- より読みやすい
breakやreturnを使って早期終了できる
さらに、TypeScript を使用している場合、for…of を使うことで関数境界をまたがないという大きな利点があります。これは、現在のスコープ内で型絞りを行った後にループ内でもその型絞りが正しく機能することを意味します(再び型絞りを行う必要がありません)。また、ループ内で変数が変更された場合にも、その変数が使用されているかどうかを適切に検出できます。
例
このルールに違反する 誤り なコードの例:
javascript
const foo = [1, 2, 3];
foo.forEach((element) => {
/* ... */
});このルールに準拠する 正しい コードの例:
javascript
const foo = [1, 2, 3];
for (const element of foo) {
/* ... */
}利用方法
設定ファイルまたは CLI でこのルールを 有効化 するには、次のように記述します:
json
{
"rules": {
"unicorn/no-array-for-each": "error"
}
}bash
oxlint --deny unicorn/no-array-for-each