В чём разница между `for...in` и `for...of` в JavaScript?
СобеседованиеОператорыМассивы и коллекции
for...in:
- Перебирает перечисляемые свойства объекта (ключи)
- Работает с объектами, массивами, строками
- Перебирает ключи (индексы для массивов, имена свойств для объектов)
- Может включать унаследованные свойства (если не использовать
hasOwnProperty())
for...of:
- Перебирает итерируемые объекты (значения)
- Работает только с объектами, имеющими
Symbol.iterator
- Перебирает значения элементов
- Не перебирает унаследованные свойства