es6的原型和原型链
es6的原型和原型链的关系图如下所示。
①每个函数都有一个prototype属性,这个属性会指向一个对象,就是通过调用该构造函数而创建的实例原型,可以通过实例对象的__proto__来访问到这个原型对象。
②实例在创建时,就会默认关联原型,并且会从原型继承属性。
③而每一个原型对象有都会存在一个constructor属性,这个属性会指向关联的这个构造函数。
④当访问一个实例对象的属性时,如果说这个实例对象中没有这个属性,那么JS引擎就会去该实例对象的原型对象中去找。
⑤如果属性在原型对象中也找不到,那么就会去原型的原型中去找,一直到找到最上层的原型,也就是Object为止。