Объяснение разницы между циклами for…of и for…in в JavaScript

Разницу между циклом for с «of» и «in» можно объяснить следующим образом:

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

Выход:

1
2
3

В этом цикле переменная elementпринимает значение каждого элемента массива на каждой итерации.

  1. Цикл «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» используется для перебора свойств объекта, обеспечивая доступ к ключам или индексам.