Skip to content

原型链

什么是原型链

当尝试访问一个对象的属性或方法时,如果对象本身没有这个属性或方法,JavaScript 会沿着对象的原型链向上查找,直到找到对应的属性或方法或到达原型链的顶端(通常是Object.prototype)。

js
// run with: node src/object/prototype-chain.js

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

Person.prototype.greet = function () {
  return `Hello, my name is ${this.name}`;
};

const alice = new Person("Alice");
console.log(alice.greet()); // "Hello, my name is Alice"
console.log(alice.__proto__ === Person.prototype); // true
console.log(alice.__proto__.__proto__ === Object.prototype); // true
console.log(alice.__proto__.__proto__.__proto__); // null