> Можно ли использовать цикл for...of для перебора ключей объекта в JavaScript? (JavaScript)
Уровень: middle · Роль: frontend · Категория: Технические вопросы
Компании: The Tribe, Яндекс
Стек: JavaScript
> Пример ответа
Нет, цикл for...of напрямую не предназначен для перебора ключей объекта. Он работает с итерируемыми объектами (массивы, строки, Map, Set и т.д.), а обычные объекты не являются итерируемыми по умолчанию. Однако можно обойти это ограничение, используя методы Object.keys(), Object.values() или Object.entries(), которые возвращают массивы, а затем применить к ним for...of. Например:
JAVASCRIPTconst obj = { a: 1, b: 2, c: 3 };for (const key of Object.keys(obj)) {console.log(key); // 'a', 'b', 'c'}
Также можно использовать for...in для прямого перебора ключей объекта, но он включает и унаследованные свойства, поэтому обычно рекомендуется комбинировать с hasOwnProperty.
> Похожие задачи по frontend
Каков порядок выполнения кода с setTimeout, Promise и цепочкой then/catch в JavaScript?
В какой момент вызывается callback в конструкторе Promise в JavaScript
Как узнать фактически переданное количество аргументов в функцию в JavaScript
Какие методы массива мутируют его в JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью