В ES5 массив можно итерировать тремя способами:
let xmen = ['Cyclops', 'Wolverine', 'Rogue'];
console.info('for');
for(let index = 0; index < xmen.length; index++){
console.log(xmen[index]);
}
console.info('for...in');
for (let key in xmen){
console.log(xmen[key]);
}
console.info('forEach');
xmen.forEach(xman => console.log(xman));
В ES6 добавлен новый спосб for...of. А for..of
в первую очередь предназначен для получения значений.
console.info('for...of');
for (let item of array){
console.log(item);
}
Итерация объекта
Ещё одно различие заключается в том, что for..in
может использоваться для обхода любого объекта, являясь средством инспектирования его свойств.
for (let key in obj) {
/* ... делать что-то с obj[key] ... */
}