我的项目包含一个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输出该类的实例:
从屏幕截图可以明显看出,该对象似乎没有异常。
接下来,输出对象的“ questions”属性:
即使下面的输出包含对象的属性,屏幕快照的第一行也是一个空对象。但是,这些属性是不可访问的,这可以通过以下事实证明:给定对象调用Object.keys
会生成一个空数组。
对于这种行为的原因,我完全不知所措,并希望能获得一些见识。预先感谢!