Почему не работает перебор объекта JS?

День добрый, почему то не срабатывает цикл for с объектом
var obj = {}
Object.defineProperty(obj, 'test', {value: 1}); 
Object.defineProperty(obj, 'test2', {value: 1}); 

for(var key in obj) {
	console.log(key);   
}

Что я делаю не так?
  • Вопрос задан
  • 292 просмотра
Решения вопроса 1
lastuniverse
@lastuniverse
Всегда вокруг да около IT тем
https://developer.mozilla.org/ru/docs/Web/JavaScri...
Этот метод позволяет точно добавлять или изменять свойства объекта. Обычное добавление свойств через присваивание создаёт свойства, которые можно увидеть через перечисление свойств (с помощью цикла for...in или метода Object.keys), чьи значения могут быть изменены и которые могут быть удалены. Этот же метод позволяет настроить эти дополнительные детали свойства.
...
enumerable
Равен true только в том случае, если это свойство можно увидеть через перечисление свойств содержащего его объекта.
Значение по умолчанию установлено в false.


таким образом вам надо делать так
Object.defineProperty(obj, 'test', {value: 1, enumerable: true}); 
Object.defineProperty(obj, 'test2', {value: 1, enumerable: true});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Utopia
var obj = new Map()?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час
21 нояб. 2024, в 21:42
100000 руб./за проект