In diesem Tutorial lernen Sie anhand von Beispielen JavaScript-Klassen kennen.
Klassen sind eine der Funktionen, die in der ES6- Version von JavaScript eingeführt wurden.
Eine Klasse ist eine Blaupause für das Objekt. Sie können ein Objekt aus der Klasse erstellen.
Sie können sich die Klasse als Skizze (Prototyp) eines Hauses vorstellen. Es enthält alle Details zu den Böden, Türen, Fenstern usw. Basierend auf diesen Beschreibungen bauen Sie das Haus. Haus ist das Objekt.
Da viele Häuser aus derselben Beschreibung erstellt werden können, können wir viele Objekte aus einer Klasse erstellen.
JavaScript-Klasse erstellen
Die JavaScript-Klasse ähnelt der Javascript-Konstruktorfunktion und ist lediglich ein syntaktischer Zucker.
Die Konstruktorfunktion ist definiert als:
// constructor function function Person () ( this.name = 'John', this.age = 23 ) // create an object const person1 = new Person();
Anstatt das function
Schlüsselwort zu verwenden, verwenden Sie das class
Schlüsselwort zum Erstellen von JS-Klassen. Beispielsweise,
// creating a class class Person ( constructor(name) ( this.name = name; ) )
Das class
Schlüsselwort wird verwendet, um eine Klasse zu erstellen. Die Eigenschaften werden in einer Konstruktorfunktion zugewiesen.
Jetzt können Sie ein Objekt erstellen. Beispielsweise,
// 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
und person2 sind Objekte der Person
Klasse.
Hinweis : Die constructor()
Methode innerhalb einer Klasse wird jedes Mal automatisch aufgerufen, wenn ein Objekt erstellt wird.
Methoden der Javascript-Klasse
Bei Verwendung der Konstruktorfunktion definieren Sie Methoden wie folgt:
// constructor function function Person (name) ( // assigning parameter values to the calling object this.name = name; // defining method this.greet = function () ( return ('Hello'' + ' ' + this.name); ) )
Es ist einfach, Methoden in der JavaScript-Klasse zu definieren. Sie geben einfach den Namen der Methode an, gefolgt von ()
. Beispielsweise,
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
Hinweis : Um auf die Methode eines Objekts zuzugreifen, müssen Sie die Methode mit ihrem Namen gefolgt von aufrufen ()
.
Getter und Setter
In JavaScript erhalten Getter-Methoden den Wert eines Objekts und Setter-Methoden den Wert eines Objekts.
JavaScript-Klassen können Getter und Setter enthalten. Sie verwenden das get
Schlüsselwort für Getter-Methoden und set
für Setter-Methoden. Beispielsweise,
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
Heben
Eine Klasse sollte vor der Verwendung definiert werden. Im Gegensatz zu Funktionen und anderen JavaScript-Deklarationen wird die Klasse nicht gehisst. Beispielsweise,
// accessing class const p = new Person(); // ReferenceError // defining class class Person ( constructor(name) ( this.name = name; ) )
Wie Sie sehen, wird beim Zugriff auf eine Klasse vor dem Definieren ein Fehler ausgegeben.
'Verwenden Sie streng'
Der Unterricht folgt immer "use-strict". Der gesamte Code innerhalb der Klasse befindet sich automatisch im strengen Modus. Beispielsweise,
class Person ( constructor() ( a = 0; this.name = a; ) ) let p = new Person(); // ReferenceError: Can't find variable: a
Hinweis : Die JavaScript-Klasse ist eine spezielle Art von Funktion. Und der typeof
Operator kehrt function
für eine Klasse zurück.
Beispielsweise,
class Person () console.log(typeof Person); // function