for ... of - цикл призначений для проходження по спископодібних об'єктах.
for(values of object)
values - назва змінної яка приймає значення.
object - об'єкт які властивості необхідно пройти.
Цей оператор не підтримують старі браузери.
Оператор for ... of призначений для ітерації за елементами колекцій спископодібних об'єктів Array, String, Map, Set, об'єкт аргументів і т.п.
for ... of - проходить по значеннях властивостях, за довільною послідовністю.
for ... in проходить по назвах властивостях, а for ... of проходить по самих властивостях.
var mas = new Array(1,2,3);
mas.top='top';
for(a in mas)
console.log(mas[a]); //1, 2, 3, 'top'
for(b of mas)
console.log(b); //1, 2, 3
Зверніть увагу якщо використовувати for...of для не спископодібного об'єкту (наприклад Object) то виникне помилка:
var obj={x:5,y:2};
for(a of obj)alert(a); //TypeError: obj is not iterable
Тоді як for...in дозволяє обходити об'єкти:
var obj={x:5,y:2};
for(a in obj)alert(a);
var mas =[1,2,3];
for(a of mas)alert(a);
function test(){
for(let value of arguments)alert(value);
}
test(25,'5_5');
var mas = new Array("нуль",1,2,3);
for(a of mas) console.log(a);
var s='JS';
for(value of s)alert(value);