Встречается на собеседованиях • сегодня
В чем разница между for...in и Object.keys
for...in перебирает все перечисляемые свойства объекта, включая унаследованные из цепочки прототипов. Object.keys() возвращает массив только собственных перечисляемых свойств объекта.
javascript
const obj = { a: 1, b: 2 };
Object.defineProperty(obj, 'c', { value: 3, enumerable: false });
// for...in
for (const key in obj) {
console.log(key); // 'a', 'b'
}
// Object.keys
console.log(Object.keys(obj)); // ['a', 'b']
text
Важные отличия:
1. `for...in` может получить унаследованные свойства (если не использовать `hasOwnProperty` проверку)
2. `Object.keys` не включает свойства с флагом `enumerable: false`
3. `Object.keys` возвращает массив, который можно дальше обрабатывать методами массива
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы