JavaScript klases

Šajā apmācībā jūs uzzināsit par JavaScript nodarbībām ar piemēru palīdzību.

Nodarbības ir viena no funkcijām, kas ieviesta JavaScript ES6 versijā.

Klase ir objekta projekts. Jūs varat izveidot objektu no klases.

Jūs varat domāt par klasi kā par mājas skici (prototipu). Tajā ir visa informācija par grīdām, durvīm, logiem utt. Pamatojoties uz šiem aprakstiem, jūs uzbūvējat māju. Māja ir objekts.

Tā kā daudzas mājas var izgatavot pēc viena un tā paša apraksta, mēs varam izveidot daudz priekšmetu no klases.

JavaScript klases izveide

JavaScript klase ir līdzīga Javascript konstruktora funkcijai, un tā ir tikai sintaktiskais cukurs.

Konstruktora funkcija ir definēta kā:

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

Tā vietā, lai izmantotu functionatslēgvārdu, jūs to izmantojat, classlai izveidotu JS klases. Piemēram,

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

classAtslēgvārds tiek izmantots, lai izveidotu klasi. Īpašības tiek piešķirtas konstruktora funkcijā.

Tagad jūs varat izveidot objektu. Piemēram,

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

Šeit person1un person2 ir Personklases objekti .

Piezīme : constructor()Metode klases iekšienē tiek izsaukta automātiski katru reizi, kad tiek izveidots objekts.

Javascript klases metodes

Izmantojot konstruktora funkciju, jūs definējat metodes kā:

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

JavaScript klasē ir viegli definēt metodes. Jums vienkārši jānorāda metodes nosaukums, kam seko (). Piemēram,

 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

Piezīme . Lai piekļūtu objekta metodei, jums jāizsauc metode, izmantojot tās nosaukumu, kam seko ().

Getters un Setters

JavaScript, getter metodes iegūst objekta vērtību un setera metodes nosaka objekta vērtību.

JavaScript klasēs var ietilpt getters un seters. Jūs izmantojat getatslēgvārdu labākām metodēm un setiestatītāju metodēm. Piemēram,

 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

Pacelšana

Pirms tās lietošanas ir jānosaka klase. Atšķirībā no funkcijām un citām JavaScript deklarācijām, klase netiek pacelta. Piemēram,

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

Kā redzat, piekļuve klasei pirms tās definēšanas rada kļūdu.

"izmantot stingri"

Nodarbībās vienmēr ievēro “stingrs lietojums”. Viss kods klases iekšienē automātiski atrodas stingrā režīmā. Piemēram,

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

Piezīme : JavaScript klase ir īpašs funkciju veids. Un typeofoperators atgriežas functionpēc klases.

Piemēram,

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

Interesanti raksti...