JavaScript-klassen

In deze tutorial leer je met behulp van voorbeelden over JavaScript-klassen.

Klassen zijn een van de functies die in de ES6- versie van JavaScript zijn geïntroduceerd .

Een klasse is een blauwdruk voor het object. U kunt een object maken vanuit de klas.

Je kunt de klas zien als een schets (prototype) van een huis. Hierin staan ​​alle details over de vloeren, deuren, ramen, etc. Op basis van deze beschrijvingen bouw je het huis. Huis is het object.

Omdat er veel huizen kunnen worden gemaakt van dezelfde beschrijving, kunnen we veel objecten maken van een klasse.

JavaScript-klasse maken

JavaScript-klasse is vergelijkbaar met de Javascript-constructorfunctie en is slechts een syntactische suiker.

De constructorfunctie wordt gedefinieerd als:

 // constructor function function Person () ( this.name = 'John', this.age = 23 ) // create an object const person1 = new Person();

In plaats van het functiontrefwoord te gebruiken, gebruikt u het classtrefwoord voor het maken van JS-klassen. Bijvoorbeeld,

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

Het classsleutelwoord wordt gebruikt om een ​​klas te maken. De eigenschappen worden toegewezen in een constructorfunctie.

Nu kunt u een object maken. Bijvoorbeeld,

 // 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

Hier, person1en person2 zijn objecten van Personklasse.

Opmerking : de constructor()methode in een klasse wordt automatisch aangeroepen telkens wanneer een object wordt gemaakt.

Javascript-klassemethoden

Terwijl u de constructorfunctie gebruikt, definieert u methoden als:

 // constructor function function Person (name) ( // assigning parameter values to the calling object this.name = name; // defining method this.greet = function () ( return ('Hello'' + ' ' + this.name); ) )

Het is gemakkelijk om methoden te definiëren in de JavaScript-klasse. U geeft gewoon de naam van de methode op, gevolgd door (). Bijvoorbeeld,

 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

Opmerking : om toegang te krijgen tot de methode van een object, moet u de methode aanroepen met de naam gevolgd door ().

Getters en Setters

In JavaScript halen getter-methoden de waarde van een object en setter-methoden de waarde van een object.

JavaScript-klassen kunnen getters en setters bevatten. U gebruikt het gettrefwoord voor getter-methoden en setvoor setter-methoden. Bijvoorbeeld,

 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

Hijsen

Een klasse moet worden gedefinieerd voordat u deze gebruikt. In tegenstelling tot functies en andere JavaScript-declaraties, wordt de klasse niet gehesen. Bijvoorbeeld,

 // accessing class const p = new Person(); // ReferenceError // defining class class Person ( constructor(name) ( this.name = name; ) )

Zoals je kunt zien, genereert het openen van een klasse voordat deze wordt gedefinieerd een fout.

'gebruik strikt'

Klassen volgen altijd 'use-strict'. Alle code in de klas bevindt zich automatisch in de strikte modus. Bijvoorbeeld,

 class Person ( constructor() ( a = 0; this.name = a; ) ) let p = new Person(); // ReferenceError: Can't find variable: a

Opmerking : JavaScript-klasse is een speciaal type functie. En de typeoftelefoniste komt terug functionvoor een les.

Bijvoorbeeld,

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

Interessante artikelen...