搜尋

首頁  >  問答  >  主體

javascript - 物件,原型鏈中有設定了set,get方法的屬性. 則物件中也會自動寫入此屬性

1: 一個物件的 原型鏈 中 如果設定了set,get方法的屬性, 則物件會自動寫入此屬性.

2: 程式碼如下

let test = {
        a:1,b:2
    }
    Object.defineProperty(test,'a',{
        set(){
            return 'set'
        },
        get(){
            return 'get'
        }
    })
    let o = {};
    o.__proto__ = test;

3: 在控制台中查看 o


4: 為什麼o物件也有了a屬性?

世界只因有你世界只因有你2739 天前870

全部回覆(1)我來回復

  • 欧阳克

    欧阳克2017-06-28 09:28:57

    眼見不一定為憑…

    不信你Object.getOwnPropertyDescriptor(o, 'a')Object.getOwnPropertyDescriptor(test, 'a')分別執行試試看。

    這應該只是chrome的調試工具為了方便顯示打造的效果,firefox下就不會出現這種情況。

    回覆
    0
  • 取消回覆