📜  解释 JavaScript 中的原型继承

📅  最后修改于: 2022-05-13 01:56:42.807000             🧑  作者: Mango

解释 JavaScript 中的原型继承

在本文中,我们将尝试通过几个方法示例来了解有效理解 JavaScript 中原型继承的确切含义或它实际上意味着什么所需的事实。

让我们了解 JavaScript 中原型继承背后的基础知识。

JavaScript 中的原型继承:以下要点将尝试分析 JavaScript 中的原型继承背后的基础知识-

  • 在经典的继承现象下,我们创建一个新的类,它实际上扩展或重用了被多种编程语言(如 C、C++、 Java等)使用的另一个类的属性或函数或方法。
  • JavaScript 不使用经典继承,而是使用称为原型继承的现象。
  • 在原型继承中,一个对象通过原型链接使用另一个对象的属性或方法。
  • 所有 JavaScript 对象都从原型继承属性和方法(例如 Date 对象从 Date.prototype 继承属性等)。

按照图形表示,包含一些示例值将帮助我们以更好和有效的方式理解原型继承 -

  • 在上面的图示中,我们举了一个例子来说明兔子和另一个创建原型对象是动物之间的原型继承。
  • 我们将兔子的原型对象设置为动物原型对象,其中我们将存储兔子的所有值,以便在缺少兔子属性的情况下,JavaScript 会自动从动物原型对象中获取它。

现在您已经了解了 Prototype 继承的简要详细描述,让我们通过以下几种方法来查看和理解 Prototype Inheritance -

方法一:

  • 在这种方法中,我们将使用__proto__ ,它是称为[[Prototype]]的内部和隐藏原型的特殊名称。
  • 我们会将兔子的所有属性存储在动物原型对象中,然后我们可以在需要时访问它。
  • 这个 __proto__ 有点陈旧,也是一种过时的方法,由于与 JavaScript 相关的一些历史原因而存在。

例子:

Javascript


Javascript


输出:

true
true

方法二:

  • 在这种方法中,我们将使用新的 JavaScript 方法来实现 JavaScript 原型继承。
  • 这里我们将使用Object.setPrototypeOf()方法接受两个参数,第一个是要设置其原型的对象,第二个是对象的新原型。
  • 此后,我们声明了两个对象并使用这两个对象,我们将其中一个对象设置为另一个对象的原型对象。

Javascript


输出:

true
true