gpt4 book ai didi

javascript - 确定 super() 是否从继承类中调用

转载 作者:行者123 更新时间:2023-11-28 15:02:00 25 4
gpt4 key购买 nike

有没有办法确定继承类是否费心在 JavaScript 中调用 super()

function A() {

A.prototype.isInitialized = function() {
// what can be checked to see if B bothered to called super()
}
}

class B extends A {
//constructor() {
// didn't call super()
//}
}

假设 B 没有自己的构造函数。它是否只是使用 A 的构造函数,因此默认情况下有效地调用了 super ?

最佳答案

是的,没有构造函数与仅调用 super 的构造函数相同,因此您不必担心有未初始化的父级。

class A {
constructor() {
this.isInit = true
}

isInitialized() {
return !!this.isInit
}
}

class B extends A {
constructor() {
super()
}
}

class C extends A {
}


b = new B()
console.log(b.isInitialized())

c = new C()
console.log(c.isInitialized())

关于javascript - 确定 super() 是否从继承类中调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40560936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com