Metoda constructor klasy JavaScript

Definicja i użycie

constructor() Metoda jest specjalnym rodzajem metody, używaną do tworzenia i inicjalizacji obiektów tworzonego w klasie.

Podczas inicjalizacji klasyconstructor() Metoda jest automatycznie wywoływana i musi używać dokładnej nazwy "constructor", w rzeczywistości, jeśli nie masz metody konstruktora, JavaScript doda niewidoczny pusty konstruktor.

Uwaga:Klasa nie może używać wielu metod constructor(). To spowoduje wywołanie SyntaxError.

Możesz użyć super() metod do wywoływania metody konstruktora klasy nadrzędnej (patrz poniżej więcej przykładów).

Instancja

Przykład 1

Utwórz klasę Car, a następnie na jej podstawie utwórz obiekt o nazwie "mycar":

class Car {
  constructor(brand) {  // Konstruktor
    this.carname = brand;
  }
}
mycar = new Car("Ford");

Spróbuj sam!

Przykład 2

Aby utworzyć dziedziczenie klas, użyj extends kluczowe słowa.

Klasy tworzone przez dziedziczenie klas będą dziedziczyć wszystkie metody z innej klasy.

Utwórz klasę o nazwie "Model", która będzie dziedziczyć metody klasy "Car":

class Car {
  constructor(brand) {
    this.carname = brand;
  }
  present() {
    zwróć 'Mam ' + this.carname;
  }
}
class Model extends Car {
  constructor(brand, mod) {
    super(brand);
    this.model = mod;
  }
  show() {
    zwróć to + ', to jest ' + this.model;
  }
}
mycar = new Model("Ford", "Mustang");
document.getElementById("demo").innerHTML = mycar.show();

Spróbuj sam!

super() odnosi się do klasy nadrzędnej.

przez wywołanie metody w metodzie konstruktora super() Metoda, którą wywołamy, będzie wywoływać metodę konstruktora klasy nadrzędnej i będzie miała dostęp do właściwości i metod klasy nadrzędnej.

Gramatyka

constructor(parametry)

Szczegóły techniczne

Wersja JavaScript: ECMAScript 2015 (ES6)

Obsługa przeglądarek

Metoda Chrome IE Firefox Safari Opera
constructor() 49.0 13.0 45.0 9.0 36.0

powiązane strony

JavaScript podręcznik:Klasa w JavaScript

JavaScript podręcznik:JavaScript ES6 (EcmaScript 2015)

Podręcznik referencyjny JavaScript:Słowo kluczowe extends

Podręcznik referencyjny JavaScript:Słowo kluczowe super