JavaScript osztályok

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 functionkulcsszó használata helyett a classkulcsot JS osztályok létrehozásához használja . Például,

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

A classkulcsszó 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 Personosztá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 getkulcsszót a getter módszerekhez és seta 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 typeofoperátor visszatér functionegy osztályra.

Például,

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

érdekes cikkek...