在JavaScript类中,子类默认是不能直接调用它的超父方法的。在ES6之前,JavaScript中的类是通过原型链继承实现的,子类通过将父类的原型赋值给自己的原型来实现继承。这种继承方式并不会自动调用父类的构造函数,因此子类无法默认调用父类的超父方法。
然而,在ES6中引入了super
关键字,它可以用于在子类的构造函数中调用父类的构造函数。通过在子类的构造函数中使用super()
来调用父类的构造函数,可以实现子类默认调用父类的超父方法。super
还可以在子类的其他方法中调用父类的同名方法。
需要注意的是,如果子类自己定义了构造函数,则必须在构造函数中调用super()
,否则会导致错误。如果子类没有定义构造函数,则会默认生成一个空的构造函数,并自动调用super()
。
总结起来,子类可以通过在构造函数中使用super()
来默认调用它的父类的构造函数,从而实现调用父类的超父方法。但在ES6之前,子类无法直接默认调用父类的超父方法。
领取专属 10元无门槛券
手把手带您无忧上云