Object.keys возвращает пустой массив для объекта, содержащего свойства - PullRequest
0 голосов
/ 22 ноября 2018

Мой проект содержит класс ES6, конструктор которого определяется следующим образом:

  constructor() {
    this.campaignName = 'United Way';
    this.campaign = {};
    this.questions = {};
    this.benefits = {};
    this.assistors = {};
    this.locations = {};
    this.buildDataObjects = this.buildDataObjects.bind(this);
    this.retrieve();
  }

Позже в коде свойствам со значениями по умолчанию пустых объектов присваиваются новые значения с использованием Object.assign;однако я не верю, что код имеет какое-либо отношение к решению данной проблемы, поэтому он не включен.

В другом месте кодовой базы проекта экземпляр класса выводится с использованием console.info:

enter image description here

Как видно из скриншота, в объекте нет ничего необычного.

Далее свойство объекта "questions"выходные данные:

enter image description here

Первая строка на скриншоте - это пустой объект, хотя выходные данные ниже содержат свойства объекта.Однако эти свойства недоступны, о чем свидетельствует тот факт, что при вызове Object.keys с данным объектом создается пустой массив.

enter image description here

Я нахожусь вполная потеря относительно причины этого поведения и была бы признательна за некоторое понимание.Заранее спасибо!

1 Ответ

0 голосов
/ 22 ноября 2018

Как указывал @Andreas, вывод на консоль выполнялся до того, как было назначено новое значение для «вопросов».

enter image description here

В качестве дополнительного примечания мое недоумение усугубилось наличием свойств ниже пустого объекта в выводе консоли, которые, по-видимому, каким-то образом добавляются после факта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...