constructor

by 3 contributors:
Our volunteers haven't translated this article into Čeština yet. Join us and help get the job done!

This is a new technology, part of the ECMAScript 2015 (ES6) standard .
This technology's specification has been finalized, but check the compatibility table for usage and implementation status in various browsers.

The constructor method is a special method for creating and initializing an object created with a class.

Syntax

constructor([arguments]) { ... }

Description

There can only be one special method with the name "constructor" in a class. A SyntaxError will be thrown, if the class contains more than one occurrence of a constructor method.

A constructor can use the super keyword to call the constructor of a parent class.

Examples

This code snippet is taken from the classes sample (live demo).

class Square extends Polygon {
  constructor(length) {
    // Here, it calls the parent class' constructor with lengths
    // provided for the Polygon's width and height
    super(length, length);
    // Note: In derived classes, super() must be called before you
    // can use 'this'. Leaving this out will cause a reference error.
    this.name = 'Square';
  }

  get area() {
    return this.height * this.width;
  }

  set area(value) {
    this.area = value;
  } 
}

Specifications

Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Constructor Method' in that specification.
Standard Initial definition.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 42.0 Nightly build ? ? ?
Feature Android Android Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support Not supported 42.0 Nightly build ? ? ? 42.0

Firefox-specific notes

  • Default constructors are not implemented yet (bug 1105463)

See also

Document Tags and Contributors

Contributors to this page: jpmedley, fscholz, llue
Last updated by: jpmedley,
Hide Sidebar