原型与原型链

一、是什么

JavaScript 是基于原型的继承语言。

👉 每个对象都有一个原型(prototype)

二、核心关系

1. 三个关键属性

对象.__proto__ === 构造函数.prototype
构造函数.prototype.constructor === 构造函数

2. 示例

三、原型链

访问属性时:对象 → 原型 → 原型的原型 → null

function Person(name) {
  this.name = name;
}

Person.prototype.sayHi = function () {
  console.log('Hi');
};

const p = new Person('Tom');
console.log(p.toString());

查找路径: p → Person.prototype → Object.prototype → null

四、图解

p
↓
Person.prototype
↓
Object.prototype
↓
null

五、为什么重要

👉 实现继承 👉 节省内存(方法复用) 👉 JS底层机制

六、总结

原型链本质:“对象之间的属性查找机制”