> Как в цикле for-in в JavaScript вывести только собственные ключи объекта без ключей прототипа (JavaScript)
Уровень: middle · Роль: frontend · Категория: Технические вопросы
Компании: Kaspersky
Стек: JavaScript
> Пример ответа
Для вывода только собственных ключей объекта в цикле for...in необходимо использовать метод hasOwnProperty(), так как for...in перебирает все перечисляемые свойства, включая унаследованные из прототипа.
Пример:
JAVASCRIPTconst obj = { a: 1, b: 2 };// Добавляем свойство в прототипObject.prototype.c = 3;for (let key in obj) {if (obj.hasOwnProperty(key)) {console.log(key); // Выведет только 'a' и 'b'}}
Более современный и безопасный способ - использовать Object.keys() или Object.getOwnPropertyNames(), которые возвращают только собственные ключи без необходимости проверки:
JAVASCRIPTObject.keys(obj).forEach(key => console.log(key)); // 'a', 'b'
Однако если требуется именно цикл for...in, проверка через hasOwnProperty остаётся стандартным решением.
> Похожие задачи по frontend
Как называется подход, когда обработчик клика вешается на контейнер, а событие обрабатывается на дочерних элементах
Как перехватывать ошибки в промисах и чем это отличается от try-catch
Что такое Jest
Как передаются массивы в JSON
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью