三个基本概念:
- 实例对象 person
- 构造函数 Person 或 person.constructor
- 原型对象 person._proto_ 或 Person.prototype
一般情况下,如图中,需要分清楚这三种对象对应三个实例对象。但考虑继承的话,则一个对象可能属于多个概念,例如:
- Person既是一个Function的实例对象,也是一个构造函数。
- 任意一个实例对象都可以成为原型对象。如图中Student未实现继承Person时,Student.__proto__是Object的实例对象obj
实现继承是通过对原型对象进行操作实现的。
原型链指的是由obj.__proto__或Object.getPrototypeOf(obj)得到的对象所组成的链
图上箭头->代表原型链
每一个对象都有原型:每一个实例对象都有其原型对象,如图所有实例对象都在原型链上