Konstruktor třídy JavaScript
Příklad
Vytvořte třídu Car a poté vytvořte objekt s názvem „mycar“ na základě třídy Car:
class Car {
constructor(brand) { // Constructor
this.carname = brand;
}
}
mycar = new Car("Ford");
Další příklady „Vyzkoušejte si to sami“ níže.
Definice a použití
Metoda constructor()
je speciální metoda pro vytváření a inicializaci objektů vytvořených v rámci třídy.
Metoda constructor()
je volána automaticky, když je třída iniciována, a musí mít přesný název „konstruktor“, ve skutečnosti, pokud nemáte metodu konstruktoru, JavaScript přidá neviditelnou a prázdnou metodu konstruktoru.
Poznámka: Třída nemůže mít více než jednu metodu konstruktor(). Toto vyvolá SyntaxError
.
Tuto metodu můžete použít super()
k volání konstruktoru nadřazené třídy (viz "Další příklady" níže).
Podpora prohlížeče
constructor()
je funkce ECMAScript6 (ES6).
ES6 (JavaScript 2015) je podporován ve všech moderních prohlížečích:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
constructor()
není podporována v aplikaci Internet Explorer 11 (nebo starší).
Syntax
constructor(parameters)
Technické údaje
Verze JavaScriptu: | ECMAScript 2015 (ES6) |
---|
Další příklady
Chcete-li vytvořit dědičnost třídy, použijte extends
klíčové slovo.
Třída vytvořená pomocí dědičnosti třídy dědí všechny metody z jiné třídy:
Příklad
Vytvořte třídu s názvem „Model“, která zdědí metody ze třídy „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()
odkazuje na nadřazenou třídu.
Voláním super()
metody v metodě konstruktoru zavoláme metodu konstruktoru rodiče a získáme přístup k vlastnostem a metodám rodiče.
Související stránky
Výukový program JavaScript: Třídy JavaScriptu
Výukový program JavaScript: JavaScript ES6 (EcmaScript 2015)
Reference JavaScript: Klíčové slovo rozšiřuje
JavaScript Reference: Super klíčové slovo