返回

原型 — 动态创建JavaScript对象

前端

在 JavaScript 中,原型链是一种链接对象和原型对象的机制,它允许对象继承和访问原型对象的属性和方法。原型链是 JavaScript 中实现面向对象编程的重要概念之一,它允许我们创建和使用具有继承关系的对象。

每个对象都有一个原型对象,原型对象是该对象的父对象。原型对象也是一个对象,它也有自己的原型对象,以此类推,直到原型链的顶端,即 Object.prototype。

Object.prototype
  -> Function.prototype
    -> Array.prototype
      -> MyArray.prototype
        -> MyArrayInstance

在上面的示例中,MyArrayInstance 是 MyArray.prototype 的一个实例,MyArray.prototype 是 Array.prototype 的一个实例,Array.prototype 是 Function.prototype 的一个实例,Function.prototype 是 Object.prototype 的一个实例。Object.prototype 是原型链的顶端,它没有任何原型对象。

我们可以使用以下方法来访问对象的原型对象:

  • Object.getPrototypeOf() 方法可以返回对象的原型对象。
  • __proto__ 属性也可以返回对象的原型对象。
const myArray = [];
const myArrayPrototype = Object.getPrototypeOf(myArray); // Array.prototype
const objectPrototype = Object.getPrototypeOf(myArrayPrototype); // Object.prototype

原型链允许我们创建和使用具有继承关系的对象。子对象可以继承父对象的所有属性和方法。例如,我们可以使用 Array.prototype.push() 方法向数组中添加元素,因为 Array.prototypeMyArray.prototype 的原型对象。

const myArray = [];
myArray.push(1);
myArray.push(2);
myArray.push(3);
console.log(myArray); // [1, 2, 3]

原型链是 JavaScript 中实现面向对象编程的重要概念之一。它允许我们创建和使用具有继承关系的对象,从而使我们的代码更加模块化和易于维护。