跳转至内容

unicorn/no-array-for-each 限制

🚧 自动修复仍在开发中。

它的作用

禁止使用 Array#forEach,转而使用 for 循环。

为什么这样做不好?

for…of 语句forEach 方法相比有以下好处

  • 更快
  • 可读性更好
  • 能够使用 breakreturn 提前退出

此外,如果你正在使用 TypeScript,使用 for…of 有很大的好处,因为它不会导致函数边界被跨越。这意味着当前作用域中稍早完成的类型缩小在循环中仍能正常工作(而无需重新缩小类型)。此外,循环中的任何已变更变量都会被选取,以判断变量是否被使用。

示例

此规则的不正确代码示例

javascript
const foo = [1, 2, 3];
foo.forEach((element) => {
  /* ... */
});

此规则的正确代码示例

javascript
const foo = [1, 2, 3];
for (const element of foo) {
  /* ... */
}

参考

遵循 MIT 许可发布。