Мне интересно: существует ли существенная разница между циклами forEach
и for
в JavaScript.
Рассмотрим следующий пример:
var myArray = [1,2,3,4];
myArray.forEach(function(value) {
console.log(value);
});
for (var i = 0; i < myArray.length; i++) {
console.log(myArray[i]);
}
Вот часть моего исследования:
- Производительность. Согласно JsPerf: forEach немного медленнее, чем для цикла.
- Юзабилити. Мы не можем разорвать/вернуть из обратного вызова в случае цикла forEach.
Например: вы хотите узнать, является ли число простым или нет. Я думаю, что использование цикла for намного проще, чем использование цикла forEach для этого.
- Считывание: Использование цикла for делает код более читаемым, чем наличие forEach в коде.
- Совместимость с браузером: forEach не поддерживается в IE < 9 Таким образом, мы вводим некоторую меру в нашем коде.
Мои вопросы:
- В чем преимущества forEach over for loop?
- В каких сценариях более предпочтительным является forEach.
- Почему даже он появился в JavaScript? Почему это вообще нужно?