Reagovat ES6 Classes
Třídy
ES6 představil třídy.
Třída je typ funkce, ale místo použití klíčového slova
function
k jejímu spuštění používáme klíčové slovo
class
a vlastnosti jsou přiřazeny uvnitř
constructor()
metody.
Příklad
Jednoduchý konstruktor třídy:
class Car {
constructor(name) {
this.brand = name;
}
}
Všimněte si velikosti písmen v názvu třídy. Název „Auto“ jsme začali velkým písmenem. Toto je standardní konvence pojmenování tříd.
Nyní můžete vytvářet objekty pomocí třídy Car:
Příklad
Vytvořte objekt s názvem „mycar“ na základě třídy Car:
class Car {
constructor(name) {
this.brand = name;
}
}
const mycar = new Car("Ford");
Poznámka: Funkce konstruktoru je volána automaticky při inicializaci objektu.
Získejte certifikaci!
95 $ PŘIHLÁSIT SE
Metoda ve třídách
Do třídy můžete přidat své vlastní metody:
Příklad
Vytvořte metodu s názvem „prezentovat“:
class Car {
constructor(name) {
this.brand = name;
}
present() {
return 'I have a ' + this.brand;
}
}
const mycar = new Car("Ford");
mycar.present();
Jak můžete vidět v příkladu výše, metodu zavoláte odkazem na název metody objektu následovaný závorkami (parametry by byly uvnitř závorek).
Třídní dědičnost
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(name) {
this.brand = name;
}
present() {
return 'I have a ' + this.brand;
}
}
class Model extends Car {
constructor(name, mod) {
super(name);
this.model = mod;
}
show() {
return this.present() + ', it is a ' + this.model
}
}
const mycar = new Model("Ford", "Mustang");
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.
Chcete-li se dozvědět více o třídách, podívejte se do naší sekce Třídy JavaScriptu .