分析Object.create(三)
2020-03-31 本文已影响0人
欢欢小天使K
温馨提示:阅读本文章前请先阅读前两篇文章,便于理解。
https://www.jianshu.com/p/603a3ac50e47
https://www.jianshu.com/p/298d6048c357
// Object.create
var p = { name: 'o4'};
var o4 = Object.create(p)
image.png
问题来了,为什么o4不能直接拿到name属性?
原因:Object.create是用原型链来连接的,
o4.__proto__ === p
打印是truejs引擎查找o4是一个空对象,name是在它的原型对象上
也就是说,Object.create是将参数的原型对象作为一个新对象的原型对象赋给o4的