Встречается на собеседованиях • сегодня

Можно ли получить разный набор ключей для одного и того же объекта

Да, можно. В JavaScript ключи объекта зависят от контекста их получения:

  1. Object.keys() - возвращает только перечисляемые собственные свойства
  2. Object.getOwnPropertyNames() - возвращает все собственные свойства (включая неперечисляемые)
  3. for...in - возвращает перечисляемые свойства, включая унаследованные (если не фильтровать через hasOwnProperty)

Пример:

javascript
const obj = Object.create({ inheritedProp: 1 });
Object.defineProperty(obj, 'nonEnumProp', {
  value: 2,
  enumerable: false
});
obj.ownProp = 3;

console.log(Object.keys(obj)); // ['ownProp']
console.log(Object.getOwnPropertyNames(obj)); // ['nonEnumProp', 'ownProp']
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы