JS 对象通过原型链共享行为。obj.method 找不到时,会去 [[Prototype]] 上继续找。
图:实例 → 原型 → Object.prototype 的查找路径
class Animal {
speak() { return "..."; }
}
class Dog extends Animal {
speak() { return "汪"; }
}
const d = new Dog();
d.speak(); // 汪
class 是原型写法的语法糖。理解原型,有助于看懂继承、以及为何改 Array.prototype 会影响所有数组。