簡體   English   中英

Object.keys返回包含屬性的對象的空數組

[英]Object.keys returns an empty array for an object containing properties

我的項目包含一個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輸出類的實例:

在此處輸入圖片說明

從屏幕截圖可以明顯看出,該對象似乎沒有異常之處。

接下來,輸出對象的“問題”屬性:

在此處輸入圖片說明

屏幕截圖的第一行是一個空對象,即使下面的輸出包含該對象的屬性。 但是,這些屬性是不可訪問的,這可以通過使用給定對象調用Object.keys產生一個空數組這一事實來證明。

在此處輸入圖片說明

對於這種行為的原因,我完全不知所措,並希望能獲得一些見識。 提前致謝!

正如@Andreas指出的那樣,控制台輸出是在將新值分配給“問題”之前完成的。

在此處輸入圖片說明

附帶說明一下,控制台輸出中空對象下方的屬性的存在加劇了我的困惑,這些屬性顯然是在事實之后附加的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM