V tej vadnici boste s pomočjo primerov spoznali razrede JavaScript.
Predavanja so ena od funkcij, predstavljenih v različici JavaScript ES6 .
Razred je načrt predmeta. Iz razreda lahko ustvarite predmet.
Razred si lahko predstavljate kot skico (prototip) hiše. Vsebuje vse podrobnosti o tleh, vratih, oknih itd. Na podlagi teh opisov zgradite hišo. Hiša je objekt.
Ker je iz istega opisa mogoče izdelati veliko hiš, lahko iz razreda ustvarimo veliko predmetov.
Ustvarjanje razreda JavaScript
Razred JavaScript je podoben konstruktorski funkciji Javascript in je zgolj skladenjski sladkor.
Funkcija konstruktorja je definirana kot:
// constructor function function Person () ( this.name = 'John', this.age = 23 ) // create an object const person1 = new Person();
Namesto da uporabite function
ključno besedo, uporabite class
ključno besedo za ustvarjanje razredov JS. Na primer
// creating a class class Person ( constructor(name) ( this.name = name; ) )
Ključna class
beseda se uporablja za ustvarjanje razreda. Lastnosti so dodeljene v konstruktorski funkciji.
Zdaj lahko ustvarite predmet. Na primer
// creating a class class Person ( constructor(name) ( this.name = name; ) ) // creating an object const person1 = new Person('John'); const person2 = new Person('Jack'); console.log(person1.name); // John console.log(person2.name); // Jack
Tukaj person1
in person2 sta predmet Person
razreda.
Opomba : constructor()
Metoda znotraj razreda se samodejno pokliče vsakič, ko je objekt ustvarjen.
Metode razreda Javascript
Med uporabo funkcije konstruktorja metode definirate kot:
// constructor function function Person (name) ( // assigning parameter values to the calling object this.name = name; // defining method this.greet = function () ( return ('Hello'' + ' ' + this.name); ) )
V razredu JavaScript je enostavno določiti metode. Preprosto navedete ime metode, ki ji sledi ()
. Na primer
class Person ( constructor(name) ( this.name = name; ) // defining method greet() ( console.log(`Hello $(this.name)`); ) ) let person1 = new Person('John'); // accessing property console.log(person1.name); // John // accessing method person1.greet(); // Hello John
Opomba : Za dostop do metode predmeta morate metodo poklicati z imenom, ki mu sledi ()
.
Pridobivalci in seterji
V JavaScript metode getter dobijo vrednost predmeta, metode setter pa vrednost predmeta.
Razredi JavaScript lahko vključujejo pridobivalce in nastavitelje. Uporabite get
ključno besedo za metode getrskih in set
za metode podajalca. Na primer
class Person ( constructor(name) ( this.name = name; ) // getter get personName() ( return this.name; ) // setter set personName(x) ( this.name = x; ) ) let person1 = new Person('Jack'); console.log(person1.name); // Jack // changing the value of name property person1.personName = 'Sarah'; console.log(person1.name); // Sarah
Dvigovanje
Pred uporabo je treba določiti razred. Za razliko od funkcij in drugih deklaracij JavaScript razred ni dvignjen. Na primer
// accessing class const p = new Person(); // ReferenceError // defining class class Person ( constructor(name) ( this.name = name; ) )
Kot lahko vidite, dostop do razreda, preden ga definirate, povzroči napako.
"uporabljaj strogo"
Predavanja vedno sledijo "strogi uporabi". Vsa koda znotraj razreda je samodejno v strogem načinu. Na primer
class Person ( constructor() ( a = 0; this.name = a; ) ) let p = new Person(); // ReferenceError: Can't find variable: a
Opomba : Razred JavaScript je posebna vrsta funkcije. In typeof
operater se vrne function
za razred.
Na primer
class Person () console.log(typeof Person); // function