[Ausbilder} In dieser Lektion werden wir darüber sprechen warum wir vielleicht in Betracht ziehen möchten, zu verwenden Die neue Klassensyntax von JavaScript. Lassen Sie uns zunächst klar sein. Es ist nicht so, als könntest du es nicht tun objektorientierte Stilprogrammierung in JavaScript vor, es ist nur so, dass es nicht speziell gab so etwas wie die Klasse, dass Sie erstellen könnten. Sie können diesen Container jedoch für Eigenschaften erstellen. Verhaltensweisen von etwas, das Sie zusammenfassen wollten als Objekt. Und so haben wir es gemacht. Also haben wir eine Funktion erstellt, und wir senden einige Parameter ein. Dies dient dem Zweck von der Konstruktor des Objekts. Und ich weise nur diese Eingabeparameter zu zu Dingen, die ich als Eigenschaften erstelle. Dieser Punkt macht das zu einer Eigenschaft von dem, was letztendlich dieses Objekt sein wird, das wir erschaffen. Wo die Syntax etwas düsterer wird, im Stil der alten Schule, ist das Hinzufügen von Methodendefinitionen zu diesem Objekt, Wir würden diese dem Prototyp hinzufügen dieser ursprünglichen Funktion. Nicht dass es nicht funktioniert hätte, es hat funktioniert und es funktioniert immer noch, Aber wenn Sie jemand sind, der relativ neu darin ist, dies zu tun, es könnte ein bisschen klobig aussehen, ein bisschen komisch. Also für dieses Beispielobjekt Ich habe diese vier Methoden, die ich erstellt und hinzugefügt habe. Sie könnten auch Vererbung machen, aber wieder, Vielleicht ist eine Syntax nicht ganz so vertraut. wie du es hättest, wenn Sie mit anderen objektorientierten Sprachen gearbeitet haben. Wenn das eine Urlaubsanfrage war, ist dies eine spezielle Anfrage, und das nennt man diesen Konstruktor vom anderen Objekt, stellt alle meine anderen Prototypmethoden zur Verfügung. Und los geht's. Wie ich schon sagte, das funktioniert, es funktioniert immer noch. Aber mit den neueren Versionen von JavaScript mit ECMAScript 2015, Wir haben ein aktuelles Klassenschlüsselwort in JavaScript. Und jetzt können wir einen Konstruktor erstellen. Und was macht es zu einem Konstruktor, ist, dass es tatsächlich das Wort Konstruktor verwendet. Jetzt, im Gegensatz zu anderen Sprachen, Sie können nur einen Konstruktor haben. JavaScript wird immer noch nicht überladen wie andere Sprachen. Aber Sie können hier den Prozess sehen, Wo wir Eigenschaften zuweisen, ist im Grunde das gleiche. Und wenn ich mir diese anderen Methoden anschaue, wir könnten auf diesen anderen Code zurückblicken, und sehen Sie den Code in diesen, ist nicht anders als in den anderen Fällen, aber es macht verdammt viel mehr Sinn, denn jetzt, und Sie können sehen, wenn ich es zusammenbreche, Der gesamte Code befindet sich in dieser Klassendefinition. Es ist in diesen Zahnspangen. Es ist visuell offensichtlich, dass es alles Teil dieser Klasse ist. Die Vererbung ändert sich ebenfalls. Jetzt kann ich das Schlüsselwort class verwenden und erweitert und verwendet den Namen der Basisklasse. Und von meiner Konstruktormethode hier, Super ist das, was ich benutze, um den Konstruktor zu nennen der Klasse, die dies erweitert. Das ist wieder Best Practices Weg, Sie richten eine Klassenrahmenstruktur ein. Und ich kann auch meine anderen Eigenschaften hinzufügen zu diesem Objekt nach Bedarf. Wenn Sie also Objekte erstellen, der bevorzugte Weg jetzt zu gehen, wäre, die Klassensyntax zu verwenden. Es ist meistens syntaktischer Zucker, , dass es diese Arbeit einfacher macht. Wenn Sie sich die Einbauten ansehen, Sie werden sehen, eine Klasse ist wirklich nur eine spezielle Funktion. Es gibt jedoch einige Unterschiede. Funktionsdefinitionen werden gehisst, Klassendefinitionen sind nicht, Das Heben ist also genau diese Funktion Dekorationen werden gespeichert, bevor Code ausgeführt wird. Sie können die Funktion also möglicherweise verwenden bevor Sie es deklarieren. Ich selbst bevorzuge die Klasse aus diesem Grund. Dadurch ist mein Code leichter zu lesen. Der Körper der Klasse läuft auch im strengen Modus, So ist Ihnen auch dort die Codeoptimierung garantiert. Danke fürs zuschauen, In der nächsten Lektion werden wir uns ansehen Was ist die gemeinsame Struktur einer Klassendefinition?