原型链、__proto__ 与 prototype

prototypeconstructor 才有的属性。被构造函数创建的实例对象的 __proto__ 指向 constructor 的 prototype` 属性,即原型对象:

let o = new Object()
o.__proto__ === Object.prototype   // true 
// ES6开始,可以通过`Object.getPrototypeOf(o)`来获取原型对象

constructor.prototypeobject.__proto__才是原型链中的节点,而其本身不(一定)是原型链中的节点。

/---
2019/4/1 编辑
通过Object.create()可以将任意对象作为原型对象来创建新的对象,这是否也意味着所有对象都在原型链上?
但是并不是所有对象都拥有constructor,但是无疑它们会继承其原型的constructor

image.png

---/

不要直接对prototype赋值,这样会打破原型链

image.png

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容