Triedy JavaScriptu

V tomto tutoriáli sa pomocou príkladov dozviete o triedach JavaScriptu.

Triedy sú jednou z funkcií zavedených vo verzii ES6 JavaScriptu.

Trieda je návrhom objektu. Môžete vytvoriť objekt z triedy.

Triedu si môžete predstaviť ako náčrt (prototyp) domu. Obsahuje všetky podrobnosti o podlahách, dverách, oknách atď. Na základe týchto popisov postavíte dom. Dom je objekt.

Pretože z rovnakého popisu je možné vyrobiť mnoho domov, môžeme z triedy vytvoriť veľa objektov.

Vytvára sa trieda JavaScriptu

Trieda JavaScript je podobná funkcii konštruktora Javascript a je to iba syntaktický cukor.

Funkcia konštruktora je definovaná ako:

 // constructor function function Person () ( this.name = 'John', this.age = 23 ) // create an object const person1 = new Person();

Namiesto použitia functionkľúčového slova použijete classkľúčové slovo na vytvorenie tried JS. Napríklad,

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

classKľúčové slovo sa používa na vytvorenie triedy. Vlastnosti sú priradené vo funkcii konštruktora.

Teraz môžete vytvoriť objekt. Napríklad,

 // 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

Tu person1a person2 sú predmety Persontriedy.

Poznámka : constructor()Metóda vo vnútri triedy sa volá automaticky pri každom vytvorení objektu.

Metódy triedy Javascript

Pri použití funkcie konštruktora definujete metódy ako:

 // constructor function function Person (name) ( // assigning parameter values to the calling object this.name = name; // defining method this.greet = function () ( return ('Hello'' + ' ' + this.name); ) )

Je ľahké definovať metódy v triede JavaScriptu. Jednoducho dáte názov metódy, za ktorou nasleduje (). Napríklad,

 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

Poznámka : Ak chcete získať prístup k metóde objektu, musíte metódu zavolať pomocou jej názvu, za ktorým nasleduje ().

Getters a Setters

V JavaScripte metódy getter získavajú hodnotu objektu a metódy setteru nastavujú hodnotu objektu.

Triedy JavaScriptu môžu obsahovať getry a settery. Použiť getkľúčové slovo pre metódy získanie a setpre metódy setter. Napríklad,

 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

Zdvíhanie

Pred použitím by mala byť definovaná trieda. Na rozdiel od funkcií a iných deklarácií jazyka JavaScript nie je trieda zdvihnutá. Napríklad,

 // accessing class const p = new Person(); // ReferenceError // defining class class Person ( constructor(name) ( this.name = name; ) )

Ako vidíte, prístup k triede pred jej definovaním spôsobí chybu.

„používať prísne“

Triedy vždy nasledujú „prísne pre použitie“. Celý kód vo vnútri triedy je automaticky v prísnom režime. Napríklad,

 class Person ( constructor() ( a = 0; this.name = a; ) ) let p = new Person(); // ReferenceError: Can't find variable: a

Poznámka : Trieda JavaScript je špeciálny typ funkcie. A typeofoperátor sa vráti functionpre triedu.

Napríklad,

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

Zaujímavé články...