📜  如何在 JavaScript 中调用父类的构造函数?

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

如何在 JavaScript 中调用父类的构造函数?

在本文中,我们学习如何调用父类的构造函数。在本文开始之前,我们应该对javascript有一个基本的了解,以及javascript中继承的一些基本概念。

构造函数:构造函数创建类的实例,通常称为对象。 JavaScript 中的 new 关键字导致在声明对象时调用构造函数。构造函数创建一个对象并设置任何对象属性(如果存在)。

javascript中的继承:一个对象访问另一个对象的属性和方法的能力称为继承。对象可以从其他对象继承属性和方法。 JavaScript 通过原型继承属性,这种继承形式通常被称为原型继承。

javascript中的super关键字:通过在constructor方法中执行super()方法,我们调用父级的constructor方法,获取到父级的属性和方法。我们只能在父类的子类中使用 super 关键字。

现在让我们通过例子来了解如何调用父类的构造函数。

示例:在这个示例中,我们将采用两个类,一个是父类,另一个是子类,用于继承父类的属性和方法,因此我们必须使用 extends 关键字来继承子类从父类。然后在子类构造函数内部,我们必须调用父类构造函数,否则编译器会出错并告诉你在访问 this 之前在子类构造函数方法中提及或调用构造函数。

JavaScript


JavaScript


输出:

Parent class method call
child class method call

示例 2:在调用 super 之前,它不能在子类构造函数中使用。在 ES6 中,子类的构造函数必须调用 super,否则它们必须返回某个对象来代替从未初始化过的对象。在此示例中,Geeks 类是 MyClass 的父类,当创建 MyClass 类型的对象时,它首先调用 MyClass 构造函数中的 MyClass 构造函数,我们必须在访问“this”(自己的对象)之前调用父类构造函数。所以它在访问自己的对象之前首先调用了父类(Geeks 类)的构造函数。

JavaScript


输出:

inside Parent Class constructor
inside Child class Constructor