JavaScript中的原型
在 JavaScript 中,每个对象都有一个与之关联的原型(prototype)。原型是一个对象,它包含了共享的属性和方法,可以被其他对象继承。通过原型链,JavaScript 对象可以访问到其原型对象上的属性和方法。
当你创建一个对象时,JavaScript 会自动为这个对象关联一个原型。你可以将原型看作是一个对象的”父对象”,它定义了该对象共享的属性和方法。通过原型链,对象可以访问其原型对象的属性和方法。
每个 JavaScript 对象都有一个隐藏的属性 __proto__
,它指向了该对象的原型。在访问一个对象的属性或方法时,如果对象本身没有找到,JavaScript 引擎会沿着原型链去查找对象的原型,然后再去原型的原型,依此类推,直到找到所需的属性或方法或者到达原型链的末端。
例如:
1 | // 定义一个原型对象 |
在上面的例子中,dog 对象通过 Object.create(animalPrototype) 创建,并且关联了原型对象 animalPrototype。虽然 dog 自身没有定义 makeSound 方法,但它可以通过原型链访问到 animalPrototype 上的 makeSound 方法。
总之,JavaScript 中的原型是一种机制,它允许对象通过原型链继承共享的属性和方法。这也是 JavaScript 中实现继承的一种方式。