JS原型中prototype与__proto__的关系
在JavaScript中,每个对象都有一个属性__proto__,它指向该对象的原型。而原型对象则有一个属性prototype,它指向原型对象的原型。
具体关系可以描述如下:
- 对象的
__proto__属性指向其构造函数的prototype属性。 - 构造函数的
prototype属性是一个原型对象,它包含了一些共享的属性和方法,用于被构造函数创建的实例对象共享。 - 原型对象的
__proto__属性指向其构造函数的prototype属性的原型,这样就形成了一个原型链。
简单来说,原型链是通过对象的__proto__属性和原型对象的prototype属性相互关联起来的。当我们访问一个对象的属性时,如果该对象本身不存在该属性,JavaScript引擎会沿着原型链往上查找,直到找到该属性或者到达原型链的顶端(null或Object.prototype)。这样就实现了属性的继承和共享。
原文地址: https://www.cveoy.top/t/topic/i5ZK 著作权归作者所有。请勿转载和采集!