Razredi JavaScript

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 functionključno besedo, uporabite classključno besedo za ustvarjanje razredov JS. Na primer

 // creating a class class Person ( constructor(name) ( this.name = name; ) )

Ključna classbeseda 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 person1in person2 sta predmet Personrazreda.

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 getključno besedo za metode getrskih in setza 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 typeofoperater se vrne functionza razred.

Na primer

 class Person () console.log(typeof Person); // function

Zanimive Članki...