Javascript JS中super在OOP中的作用

Javascript JS中super在OOP中的作用,javascript,oop,Javascript,Oop,我在学习JS中的OOP时遇到了super(),它用于调用父类的构造函数。问题是为什么我们需要调用父类的构造函数?我们为什么在乎呢?构造函数做事情。那东西是什么取决于班级是什么 如果您正在创建一个子类,那么在大多数情况下,您将希望执行相同的操作。可能还有一些额外的东西 我们使用super()来调用它,而不是从父类复制/粘贴构造函数,然后编辑它(这需要您手动保持两个函数的同步,如果其中一个发生更改的话)。基本上,super可以维护父类和子类之间的连接。当它像super.myParentMethod(

我在学习JS中的OOP时遇到了super(),它用于调用父类的构造函数。问题是为什么我们需要调用父类的构造函数?我们为什么在乎呢?

构造函数做事情。那东西是什么取决于班级是什么

如果您正在创建一个子类,那么在大多数情况下,您将希望执行相同的操作。可能还有一些额外的东西


我们使用
super()
来调用它,而不是从父类复制/粘贴构造函数,然后编辑它(这需要您手动保持两个函数的同步,如果其中一个发生更改的话)。基本上,
super
可以维护父类和子类之间的连接。当它像
super.myParentMethod()
那样使用时,它只调用在直接父类或上层声明的
myParentMethod

当在子级的
构造函数
中调用它时,它将调用父级的
构造函数
,因此,父级将在创建子级之前初始化

为了完全理解为什么需要它,您可能需要学习更多关于JS中的类和构造函数的知识


有一个关于这个主题的问题。

如果你不使用构造函数,为什么要创建构造函数?举个例子,假设我们有
类Employee extensed Person
Person
构造函数将初始化
Person
所需的任何东西,你希望这样。您不需要重复
Person
的逻辑。如果您对该类进行任何更改,您还必须更改子类。
Employee
构造函数只关心与
Employee
相关的任何内容。