JavaScript _proto_、prototype原型、原型链、constructor构造器、类式继承、原型继承
1. prototype、proto、constructor、原型链
图示,上面的函数可用如下图例表示 知识点:
- 任何一个由构造器产生的对象都有_proto_属性,且此属性指向该构造器的prototype。
- 所有构造器/函数的_proto_都指向Function的prototype。
- Js中一切皆为对象
- proto 最终指向的都是Object.prototype
- constructor 指向创建当前对象的构造函数
- 函数.prototype.construnctor 指向这个函数(或函数A.prototype.construnctor 指向函数A)
*注: ①A.proto 指向 A的构造器.prototype (知识点1) ②A.constructor 指向 A的构造器 (知识点5) ③A.prototype.constructor 指向A (知识点6) *
总结
- A.constructor === A的构造器(A的构造函数)
- A._proto_ === A的构造器.prototype
- A.prototype === A的原型(原型对象)
- _proto_最终的指向都是Object.prototype._proto_为null,由此形成的链叫做原型链