În acest tutorial, veți afla despre cursurile JavaScript cu ajutorul unor exemple.
Clasele sunt una dintre caracteristicile introduse în versiunea ES6 a JavaScript.
O clasă este un plan pentru obiect. Puteți crea un obiect din clasă.
Vă puteți gândi la clasă ca la o schiță (prototip) a unei case. Conține toate detaliile despre podele, uși, ferestre etc. Pe baza acestor descrieri, construiți casa. Casa este obiectul.
Deoarece multe case pot fi făcute din aceeași descriere, putem crea multe obiecte dintr-o clasă.
Crearea clasei JavaScript
Clasa JavaScript este similară cu funcția constructor Javascript și este doar un zahăr sintactic.
Funcția constructor este definită ca:
// constructor function function Person () ( this.name = 'John', this.age = 23 ) // create an object const person1 = new Person();
În loc să utilizați function
cuvântul cheie, îl utilizați class
pentru a crea clase JS. De exemplu,
// creating a class class Person ( constructor(name) ( this.name = name; ) )
Cuvântul class
cheie este utilizat pentru a crea o clasă. Proprietățile sunt atribuite într-o funcție de constructor.
Acum puteți crea un obiect. De exemplu,
// 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
Aici person1
și person2 sunt obiecte de Person
clasă.
Notă : constructor()
Metoda din interiorul unei clase este apelată automat de fiecare dată când este creat un obiect.
Metode de clasă Javascript
În timp ce utilizați funcția constructor, definiți metodele ca:
// constructor function function Person (name) ( // assigning parameter values to the calling object this.name = name; // defining method this.greet = function () ( return ('Hello'' + ' ' + this.name); ) )
Este ușor de definit metodele din clasa JavaScript. Pur și simplu dați numele metodei urmată de ()
. De exemplu,
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
Notă : Pentru a accesa metoda unui obiect, trebuie să apelați metoda folosind numele său urmat de ()
.
Getters și Setters
În JavaScript, metodele getter obțin valoarea unui obiect, iar metodele setter stabilesc valoarea unui obiect.
Clasele JavaScript pot include getters și setatori. Utilizați get
cuvântul cheie pentru metodele getter și set
pentru metodele setter. De exemplu,
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
Ridicarea
O clasă ar trebui definită înainte de ao utiliza. Spre deosebire de funcții și alte declarații JavaScript, clasa nu este ridicată. De exemplu,
// accessing class const p = new Person(); // ReferenceError // defining class class Person ( constructor(name) ( this.name = name; ) )
După cum puteți vedea, accesarea unei clase înainte de a o defini aruncă o eroare.
„utilizați strict”
Clasele respectă întotdeauna „utilizarea strictă”. Tot codul din clasă este automat în mod strict. De exemplu,
class Person ( constructor() ( a = 0; this.name = a; ) ) let p = new Person(); // ReferenceError: Can't find variable: a
Notă : clasa JavaScript este un tip special de funcție. Iar typeof
operatorul se întoarce function
pentru o clasă.
De exemplu,
class Person () console.log(typeof Person); // function