2ming/Demo

Object.Prototype隐式屏蔽

Opened this issue · 0 comments

2ming commented

b.a 赋值的时候会通过Prototype去找a.a并去获取a.a的值,然后通过[[Put]]将3赋值给b.a 隐式屏蔽

var a = { a: 2}; var b = Object.create(a); 
b.a = 3;
console.log(b.a,a.a)
// => 3 2
 
var a = { a: 2}; var b = Object.create(a); 
a.a = 3;
console.log(b.a,a.a)
// => 3 3
 
var a = { a: 2}; var b = Object.assign({}, a); 
b.a = 3;
console.log(b.a,a.a)
// => 3 2