Ebben az oktatóanyagban példák segítségével megismerheti a JavaScript osztályokat.
Az osztályok az egyik olyan jellemző, amelyet a JavaScript ES6 verziójában vezettek be .
Az osztály az objektum tervrajza. Létrehozhat egy objektumot az osztályból.
Az osztályra úgy gondolhat, mint egy ház vázlatára (prototípusára). Minden részletet tartalmaz a padlókról, ajtókról, ablakokról stb. Ezen leírások alapján Ön építi a házat. A ház az objektum.
Mivel sok ház elkészíthető ugyanabból a leírásból, sok objektumot készíthetünk egy osztályból.
JavaScript osztály létrehozása
A JavaScript osztály hasonló a Javascript konstruktor funkcióhoz, és csupán egy szintaktikai cukor.
A konstruktor függvényét a következők határozzák meg:
// constructor function function Person () ( this.name = 'John', this.age = 23 ) // create an object const person1 = new Person();
A function
kulcsszó használata helyett a class
kulcsot JS osztályok létrehozásához használja . Például,
// creating a class class Person ( constructor(name) ( this.name = name; ) )
A class
kulcsszó egy osztály létrehozására szolgál. A tulajdonságok egy konstruktor függvényben vannak hozzárendelve.
Most létrehozhat egy objektumot. Például,
// 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
Itt person1
és a person2 az Person
osztály objektumai .
Megjegyzés : Az constructor()
osztályon belüli módszer automatikusan meghívásra kerül minden objektum létrehozásakor.
Javascript osztály módszerek
A konstruktor függvény használata közben a következőképpen határozhatja meg a módszereket:
// constructor function function Person (name) ( // assigning parameter values to the calling object this.name = name; // defining method this.greet = function () ( return ('Hello'' + ' ' + this.name); ) )
Könnyű meghatározni a módszereket a JavaScript osztályban. Egyszerűen meg kell adnia a követett módszer nevét ()
. Például,
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
Megjegyzés : Az objektum metódusának eléréséhez meg kell hívnia a metódust annak nevével és utána ()
.
Getters és Setters
A JavaScriptben a getter metódusok megkapják az objektum értékét, a setter metódusok pedig az objektum értékét.
A JavaScript osztályok tartalmazhatnak gettert és beállítót. A get
kulcsszót a getter módszerekhez és set
a setter módszerekhez használja. Például,
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
Emelés
Használat előtt meg kell határozni egy osztályt. A függvényekkel és más JavaScript-deklarációkkal ellentétben az osztály nem kerül feloldásra. Például,
// accessing class const p = new Person(); // ReferenceError // defining class class Person ( constructor(name) ( this.name = name; ) )
Mint látható, egy osztály elérése a definiálás előtt hibát okoz.
„használj szigorúan”
Az osztályok mindig „szigorú használat” -ot követnek. Az osztályon belüli összes kód automatikusan szigorú módban van. Például,
class Person ( constructor() ( a = 0; this.name = a; ) ) let p = new Person(); // ReferenceError: Can't find variable: a
Megjegyzés : A JavaScript osztály egy speciális típusú funkció. És az typeof
operátor visszatér function
egy osztályra.
Például,
class Person () console.log(typeof Person); // function