Reageer ES6-klasse
Klasse
ES6 het klasse bekendgestel.
'n Klas is 'n tipe funksie, maar in plaas daarvan om die sleutelwoord
function
te gebruik om dit te begin, gebruik ons die sleutelwoord
class
, en die eienskappe word binne 'n
constructor()
metode toegeken.
Voorbeeld
'n Eenvoudige klaskonstruktor:
class Car {
constructor(name) {
this.brand = name;
}
}
Let op die geval van die klasnaam. Ons het die naam, "Motor", begin met 'n hoofletter. Dit is 'n standaard naamkonvensie vir klasse.
Nou kan jy voorwerpe skep deur die Car-klas te gebruik:
Voorbeeld
Skep 'n voorwerp genaamd "mycar" gebaseer op die Car-klas:
class Car {
constructor(name) {
this.brand = name;
}
}
const mycar = new Car("Ford");
Let wel: Die konstruktorfunksie word outomaties opgeroep wanneer die voorwerp geïnisialiseer word.
Word gesertifiseer!
$95 INSKRIF
Metode in Klasse
Jy kan jou eie metodes in 'n klas byvoeg:
Voorbeeld
Skep 'n metode genaamd "present":
class Car {
constructor(name) {
this.brand = name;
}
present() {
return 'I have a ' + this.brand;
}
}
const mycar = new Car("Ford");
mycar.present();
Soos jy in die voorbeeld hierbo kan sien, noem jy die metode deur te verwys na die objek se metodenaam gevolg deur hakies (parameters sal binne die hakies gaan).
Klas Erfenis
Om 'n klaserfenis te skep, gebruik die extends
sleutelwoord.
'n Klas wat met 'n klasoorerwing geskep word, erf al die metodes van 'n ander klas:
Voorbeeld
Skep 'n klas met die naam "Model" wat die metodes van die "Car" klas sal erf:
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();
Die super()
metode verwys na die ouerklas.
Deur die super()
metode in die konstruktormetode te noem, roep ons die ouer se konstruktormetode en kry ons toegang tot die ouer se eienskappe en metodes.
Om meer te wete te kom oor klasse, kyk na ons JavaScript-klasse- afdeling.