U ovom ćete tutorijalu uz primjere naučiti o JavaScript tečajevima.
Predavanja su jedna od značajki predstavljenih u ES6 verziji JavaScript-a.
Klasa je nacrt predmeta. Možete stvoriti objekt iz klase.
O klasi možete razmišljati kao o skici (prototipu) kuće. Sadrži sve detalje o podovima, vratima, prozorima itd. Na temelju ovih opisa gradite kuću. Kuća je objekt.
Budući da se mnoge kuće mogu napraviti iz istog opisa, možemo stvoriti mnoge predmete iz klase.
Izrada JavaScript klase
JavaScript klasa slična je funkciji konstruktora Javascript i to je samo sintaktički šećer.
Funkcija konstruktora definirana je kao:
// constructor function function Person () ( this.name = 'John', this.age = 23 ) // create an object const person1 = new Person();
Umjesto da koristite function
ključnu riječ, koristite je class
za izradu JS klasa. Na primjer,
// creating a class class Person ( constructor(name) ( this.name = name; ) )
class
Ključna riječ se koristi za stvaranje klase. Svojstva su dodijeljena u funkciji konstruktora.
Sada možete stvoriti objekt. Na primjer,
// 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
Ovdje su person1
i person2 objekti Person
klase.
Napomena : constructor()
Metoda unutar klase automatski se poziva svaki put kad se stvori objekt.
Javascript metode klase
Dok koristite funkciju konstruktora, metode definirate kao:
// constructor function function Person (name) ( // assigning parameter values to the calling object this.name = name; // defining method this.greet = function () ( return ('Hello'' + ' ' + this.name); ) )
Lako je definirati metode u JavaScript klasi. Jednostavno navedete naziv metode nakon koje slijedi ()
. Na primjer,
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
Napomena : Da biste pristupili metodi objekta, morate je pozvati koristeći njezino ime iza kojeg slijedi ()
.
Getteri i Setteri
U JavaScriptu metode gettera dobivaju vrijednost objekta, a metode postavljača postavljaju vrijednost objekta.
JavaScript klase mogu uključivati gettere i settere. Koristite get
ključnu riječ za metode dobivanja i set
za metode postavljanja. Na primjer,
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
Podizanje
Prije upotrebe treba definirati klasu. Za razliku od funkcija i ostalih JavaScript deklaracija, klasa nije podignuta. Na primjer,
// accessing class const p = new Person(); // ReferenceError // defining class class Person ( constructor(name) ( this.name = name; ) )
Kao što vidite, pristup klasi prije nego što je definirate baca pogrešku.
'koristi strogo'
Predavanja uvijek slijede "strogo korištenje". Sav kôd unutar klase automatski je u strogom načinu. Na primjer,
class Person ( constructor() ( a = 0; this.name = a; ) ) let p = new Person(); // ReferenceError: Can't find variable: a
Napomena : JavaScript klasa je posebna vrsta funkcije. I typeof
operator se vraća function
po predavanje.
Na primjer,
class Person () console.log(typeof Person); // function