原型链

定义

原型链(Prototype Chain)是 JavaScript 中对象通过其原型(__proto__)属性连接起来形成的链式结构。它用于实现继承机制,使一个对象能够访问另一个对象的属性和方法。原型链的终点是 null,即所有对象最终都继承自 Object.prototype。

组成部分

1.实例对象:直使用或创建的对象。
2.原型对象:每个对象的原型,通过 proto 属性与其关联。
3.顶层原型:原型链的终点,即 Object.prototype,其原型为 null。

结构形式

原型链形成一种逐级连接的结构:

1
2
实例对象 → 构造函数的原型对象 → Object.prototypenull

image-20241119145011570

分类

1.普通对象的原型链:直接指向 Object.prototype。
2.自定义构造函数的原型链:包括自定义方法和属性,并最终指向 Object.prototype。

目的

通过原型链实现对象之间的继承关系,支持属性和方法的共享,避免重复定义。

基本原理

每个对象都包含一个内部属性 __proto__,指向其构造函数的 prototype 属性。通过这种链式连接实现继承。