JavaScript logoJavaScript/
JS-0226

Found no `super()` in constructorJS-0226

Critical severityCritical
Bug Risk categoryBug Risk

Constructors of derived classes must call super(). Constructors of non derived classes must not call super(). If this is not observed, the JavaScript engine will raise a runtime error. Thus, the super() call must be valid.

Bad Practice

class A {
    constructor() {
        super();  // This is a SyntaxError.
    }
}

class A extends B {
    constructor() { }  // Would throw a ReferenceError.
}

// Classes which inherits from a non constructor are always problems.
class A extends null {
    constructor() {
        super();  // Would throw a TypeError.
    }
}

class A extends null {
    constructor() { }  // Would throw a ReferenceError.
}
class A {
    constructor() { }
}

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