Konstruktor

Konstruktor jest specjalną metodą tworzenia i inicjowania obiektu utworzonego w klasie.

Składnia

constructor([arguments]) { ... }

Opis

W danej klasie może pojawić się tylko jeden "constructor". W przeciwnym razie pojawi się błąd SyntaxError jeśli klasa zawiera więcej niż jeden konstruktor.

Konstruktor może użyć "super keyword" do wywołania konstruktora klasy nadrzędnej.

Jeżeli nie określisz konstruktora, zostanie użyty domyślny konstruktor.

Przykłady

Używanie konstruktora

Fragment kodu pochodzi z classes sample (live demo).

class Square extends Polygon {
  constructor(length) {
    // Wywołanie konstruktora klasy nadrzędnej length
    // okrśla szerokość i wysokość wielokątów
    super(length, length);
    // Uwaga: W pochodnych klasach, super() musi być wywoałne wcześniej
    // może użyć 'this'. W przeciwnym wypadku pojawi się błąd odniesienia.
    this.name = 'Square';
  }

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

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

Konstruktor domyślny

Jeżeli nie określisz konstruktora, zostanie użyty domyślny konstruktor. Dla podstawowych klas takim konstruktorem jest:

constructor() {}

Dla klas pochodnych takim konstruktorem jest:

constructor(...args) {
  super(...args);
}

Specyfikacje

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

Wsparcie przeglądarek

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 42.0 45 (45) ? ? ?
Default constructors ? 45 (45) ? ? ?
Feature Android Android Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support No support 42.0 45.0 (45) ? ? ? 42.0
Default constructors ? ? 45.0 (45) ? ? ? ?

Zobacz też

Autorzy i etykiety dokumentu

 Autorzy tej strony: devMike
 Ostatnia aktualizacja: devMike,