A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Invalid_derived_return below:

TypeError: derived class constructor returned invalid value x - JavaScript

TypeError: derived class constructor returned invalid value x

The JavaScript exception "derived class constructor returned invalid value x" occurs when a derived class constructor returns a value that is not an object or undefined.

Message
TypeError: Derived constructors may only return object or undefined (V8-based)
TypeError: derived class constructor returned invalid value 1 (Firefox)
TypeError: Cannot return a non-object type in the constructor of a derived class. (Safari)
Error type What went wrong?

Typically, a constructor does not need to return anything—the value of this is automatically returned when the class is constructed. A constructor can also return an object, and this object will override this as the newly constructed instance. However, returning something that's neither an object nor undefined is usually a mistake, because that value is ignored. In base classes and function constructors (using the function syntax), returning such a value is silently ignored, while in derived classes, it throws an error.

Examples Invalid cases
class Base {
  constructor() {}
}

class Derived extends Base {
  constructor() {
    return 2;
  }
}

new Derived(); // TypeError: derived class constructor returned invalid value 2
Valid cases
class Base {
  constructor() {}
}

class Derived extends Base {
  constructor() {
    return { x: 1 };
  }
}

new Derived(); // { x: 1 }
See also

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4