Разницу между циклом for с «of» и «in» можно объяснить следующим образом:
- Цикл «For…of». Цикл «for…of» используется для перебора повторяемых объектов, таких как массивы, строки или другие коллекции. Это позволяет вам напрямую обращаться к элементам итерируемого объекта, не беспокоясь об индексе. Вот пример:
const arr = [1, 2, 3];
for (const element of arr) {
console.log(element);
}
Выход:
1
2
3
В этом цикле переменная element
принимает значение каждого элемента массива на каждой итерации.
- Цикл «For…in». С другой стороны, цикл «for…in» используется для перебора свойств объекта. Это позволяет вам получить доступ к ключам или индексам объекта. Вот пример:
const obj = { a: 1, b: 2, c: 3 };
for (const key in obj) {
console.log(key);
}
Выход:
a
b
c
В этом цикле переменная key
представляет ключи или индексы свойств объекта.
Подводя итог, основное отличие заключается в типе итерации:
- Цикл «For…of» используется для перебора повторяемых значений, таких как массивы, строки и т. д., обеспечивая прямой доступ к элементам.
- Цикл «For…in» используется для перебора свойств объекта, обеспечивая доступ к ключам или индексам.