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 function
trefwoord te gebruiken, gebruikt u het class
trefwoord voor het maken van JS-klassen. Bijvoorbeeld,
// creating a class class Person ( constructor(name) ( this.name = name; ) )
Het class
sleutelwoord 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, person1
en person2 zijn objecten van Person
klasse.
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 get
trefwoord voor getter-methoden en set
voor 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 typeof
telefoniste komt terug function
voor een les.
Bijvoorbeeld,
class Person () console.log(typeof Person); // function