原型与原型链了解一下

55 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第22天,点击查看活动详情

原型

JavaScript所有的对象在本质上都是通过new 函数创建的,包括对象字面量(也称为对象初始化器)的形式定义对象、Array、Object等。

image.png

  prototype:每个函数都有一个属性prototype,它就是原型,默认情况下是一个普通的Object对象,该对象是调用该构造函数所创建的实例的原型。

constructor:javascript也有由原型指向构造函数的属性:constructor。

proto:JavaScript中所有对象(除了null)都具有一个__proto__属性,该属性指向该对象的原型。

image.png

原型链

实例对象在查找属性时,如果查找不到,就会沿着__proto__去与对象关联的原型上查找,如果还查找不到,就去找原型的原型,直至查到最顶层,这也就是原型链的概念。