Š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 function
atslēgvārdu, jūs to izmantojat, class
lai izveidotu JS klases. Piemēram,
// creating a class class Person ( constructor(name) ( this.name = name; ) )
class
Atslē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 person1
un person2 ir Person
klases 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 get
atslēgvārdu labākām metodēm un set
iestatī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 typeof
operators atgriežas function
pēc klases.
Piemēram,
class Person () console.log(typeof Person); // function