unicorn/no-array-for-each 限制
功能說明
禁止使用 Array#forEach
,建議使用 for 迴圈。
為什麼這樣不好?
相較於 forEach
方法,for…of
陳述式的優點包含:
- 速度更快
- 可讀性更好
- 能夠使用
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) {
/* ... */
}