Konstruktor klas JavaScript
Przykład
Utwórz klasę Car, a następnie utwórz obiekt o nazwie „mycar” na podstawie klasy Car:
class Car {
constructor(brand) { // Constructor
this.carname = brand;
}
}
mycar = new Car("Ford");
Więcej przykładów „Wypróbuj sam” poniżej.
Definicja i użycie
Metoda constructor()
jest specjalną metodą tworzenia i inicjowania obiektów utworzonych w ramach klasy.
Metoda constructor()
jest wywoływana automatycznie po zainicjowaniu klasy i musi mieć dokładną nazwę „konstruktor”. W rzeczywistości, jeśli nie masz metody konstruktora, JavaScript doda niewidoczną i pustą metodę konstruktora.
Uwaga: Klasa nie może mieć więcej niż jednej metody konstruktor(). Spowoduje to wyświetlenie SyntaxError
.
Możesz użyć super()
metody do wywołania konstruktora klasy nadrzędnej (zobacz „Więcej przykładów” poniżej).
Obsługa przeglądarki
constructor()
to funkcja ECMAScript6 (ES6).
ES6 (JavaScript 2015) jest obsługiwany we wszystkich nowoczesnych przeglądarkach:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
constructor()
nie jest obsługiwany w programie Internet Explorer 11 (lub starszym).
Składnia
constructor(parameters)
Szczegóły techniczne
Wersja JavaScript: | ECMAScript 2015 (ES6) |
---|
Więcej przykładów
Aby utworzyć dziedziczenie klasy, użyj extends
słowa kluczowego.
Klasa utworzona z dziedziczeniem klas dziedziczy wszystkie metody z innej klasy:
Przykład
Utwórz klasę o nazwie „Model”, która odziedziczy metody z klasy „Car”:
class Car {
constructor(brand) {
this.carname =
brand;
}
present() {
return 'I have a ' + this.carname;
}
}
class Model extends Car {
constructor(brand, mod) {
super(brand);
this.model = mod;
}
show() {
return this.present() + ', it is a ' + this.model;
}
}
mycar = new Model("Ford", "Mustang");
document.getElementById("demo").innerHTML
= mycar.show();
Metoda super()
odnosi się do klasy nadrzędnej.
Wywołując super()
metodę w metodzie konstruktora, wywołujemy metodę konstruktora rodzica i uzyskujemy dostęp do właściwości i metod rodzica.
Powiązane strony
Samouczek JavaScript: Klasy JavaScript
Samouczek JavaScript: JavaScript ES6 (EcmaScript 2015)
Dokumentacja JavaScript: słowo kluczowe extends
Dokumentacja JavaScript: super słowo kluczowe