原型对象(Prototype)详解
一、核心概念
- 本质:每个 JavaScript 对象(除
null
外)都有的内置属性
- 作用:实现对象间的属性/方法继承(原型继承)
- 存储位置:
[[Prototype]]
内部属性(通过 __proto__
或 Object.getPrototypeOf()
访问)
二、关键特性图示
对象实例 (obj)
│
├── __proto__ --> 原型对象 (prototype)
│ ├── constructor --> 构造函数
│ ├── 共享方法/属性
│ └── __proto__ --> 上层原型 (Object.prototype)
│
└── 自身属性/方法
三、核心组件解析
1. 构造函数(Constructor)
function Person(name) {
this.name = name;
}
Person.prototype.sayHello = function() {
console.log(`Hello, I'm ${
this.name}`);
};
2. 原型对象(Prototype)
const alice = new Person('Alice');
console.log(alice.__proto__ === Person.prototype);
console.log(Object.getPrototypeOf