问题遇到的现象
我在使用es6对象新增方法,Object.setPrototypeOf()和Object.getPrototypeOf()时,我用Object.setPrototypeOf()方法设置的属性值,用Object.getPrototypeOf()方法取出时,b对象有一个属性值x取不出来。
问题相关代码
// Object.setPrototypeOf方法的作用与__proto__相同,用来设置一个对象的原型对象(prototype),返回参数对象本身。它是 ES6 正式推荐的设置原型对象的方法。
let a ={}
let b ={x:10}
Object.setPrototypeOf(b,a)
a.y = 20
a.z = 30
console.log(b.x) //10
console.log(b.y) //20
console.log(b.z) //30
// 上面代码将proto对象设为obj对象的原型,所以从obj对象可以读取proto对象的属性。
let c = Object.getPrototypeOf(b)
console.log(c); //{ y: 20, z: 30 }
我想要达到的结果
b对象的属性值都能完全取到。