原型与原型链
一、是什么
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底层机制
六、总结
原型链本质:“对象之间的属性查找机制”