您的位置:首頁/技術文章
文章詳情頁

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

瀏覽:103日期:2023-05-04 10:23:56

問題描述

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

javascript - 對象,原型鏈中有設置了set,get方法的屬性. 則對象中也會自動寫入此屬性4: 為什么o對象也有了a屬性?

問題解答

回答1:

眼見不一定為實……

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

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

標簽: JavaScript
相關文章:
国产综合久久一区二区三区