Das Buch "ECMAScript 6 für Entwickler"

    BildMachen Sie sich mit den grundlegenden Änderungen in JavaScript vertraut, die mit dem neuen ECMAScript 6-Standard verbunden sind. Nicholas Zakas, ein Bestsellerautor und Entwicklungsexperte, hat den umfassendsten Leitfaden für neue Objekttypen, Syntax und interessante Funktionen erstellt. Jedes Kapitel enthält Beispiele für Programme, die in jeder JavaScript-Umgebung funktionieren und Sie in die neuen Funktionen der Sprache einführen. Nachdem Sie dieses Buch gelesen haben, erfahren Sie, wie nützlich Iteratoren und Generatoren sind, wie sich Verknüpfungsfunktionen von normalen Funktionen unterscheiden, welche zusätzlichen Optionen Sie zum Arbeiten mit Daten verwenden können, wie die Typvererbung funktioniert, wie Module den Code organisieren und vieles mehr Freund.

    Darüber hinaus betrachtet Nicholas Zakas die Änderungen, die in ECMAScript 7 aufgetreten sind. Egal, ob Sie Webentwickler sind oder mit node.js arbeiten, in diesem Buch finden Sie die wichtigsten Informationen, mit denen Sie alle Funktionen von ECMAScript 6 effektiv nutzen können.

    An wen ist das Buch gerichtet?


    Dieses Buch war als Leitfaden für diejenigen gedacht, die bereits mit JavaScript und ECMAScript 5 vertraut sind. Obwohl gründliche Sprachkenntnisse keine Voraussetzung für die Arbeit mit diesem Buch sind, wird es Ihnen helfen, die Unterschiede zwischen ECMAScript 5 und 6 zu verstehen. Dieses Buch richtet sich insbesondere an Entwickler JavaScript mit Skripterfahrung für Browser oder Node.js, die mehr über die neuesten Neuerungen in der Sprache erfahren möchten.

    Dieses Buch ist definitiv nicht für Anfänger gedacht, die noch nie in JavaScript geschrieben haben. Um dieses Buch lesen zu können, müssen Sie mindestens die Grundlagen der Sprache kennen.

    Inhaltsübersicht


    Alle Kapitel und Anwendungen in diesem Buch behandeln verschiedene Aspekte von ECMAScript 6. In vielen Kapiteln werden die Probleme erörtert, die durch die Änderungen in ECMAScript 6 behoben werden, damit Sie einen umfassenderen Überblick über diese Änderungen erhalten. Alle Kapitel enthalten Codebeispiele, die neue Ideen und Syntaxkonstrukte demonstrieren.

    • In Kapitel 1, „Blockbindungen“, werden let- und const-Anweisungen behandelt, die die var-Anweisung auf Blockebene ersetzen.

    • Kapitel 2, „Zeichenfolgen und reguläre Ausdrücke“, behandelt zusätzliche Zeichenfolgenfunktionen und führt Vorlagenzeichenfolgen ein.

    • In Kapitel 3, „Funktionen“, werden verschiedene Änderungen an Funktionen erläutert, darunter Pfeilfunktionen, Standardparameter, Restparameter und einige andere Funktionen.

    • In Kapitel 4, „Erweiterte Funktionen von Objekten“, werden Änderungen bei den Ansätzen zum Erstellen, Ändern und Verwenden von Objekten erläutert. Zu den behandelten Themen gehören Änderungen in der Syntax von Objektliteralen und neue Methoden der Reflexion.

    • Kapitel 5, „Destrukturierung zur Vereinfachung des Datenzugriffs“, enthält eine Einführung in die Syntax zur Destrukturierung von Objekten und Arrays, mit der Sie Objekte und Arrays mit kompakter Syntax zerlegen können.

    • In Kapitel 6, Symbole und Symboleigenschaften, wird die Idee der Symbole vorgestellt, eine neue Methode zum Definieren von Eigenschaften. Symbole sind ein neuer einfacher Datentyp, mit dem die Eigenschaften und Methoden von Objekten (wenn auch nicht vollständig) ausgeblendet werden können.

    • Kapitel 7, „Mengen und assoziative Arrays“, beschreibt neue Arten von Sammlungen: Set, WeakSet, Map und WeakMap. Diese Typen ergänzen die üblichen Arrays und garantieren die Eindeutigkeit von Werten und Speichersteuerelementen, die speziell für JavaScript entwickelt wurden.

    • Kapitel 8, Iteratoren und Generatoren, beschreibt das Hinzufügen von Iteratoren und Generatoren zur Sprache. Diese Tools eröffnen neue leistungsstarke Möglichkeiten für die Arbeit mit Datensammlungen, die in früheren Versionen von JavaScript nicht verfügbar waren.

    • Kapitel 9, Einführung in JavaScript-Klassen, führt in das erste formalisierte Konzept von Klassen in JavaScript ein. Das objektorientierte Modell in JavaScript führt häufig zu Verwirrung bei Programmierern, die von anderen Sprachen gewechselt haben. Die neue optionale Syntax für die Arbeit mit Klassen macht JavaScript für andere zugänglicher und für Enthusiasten aussagekräftiger.

    • In Kapitel 10, „Erweiterte Array-Funktionen“, werden die Änderungen beschrieben, die sich auf reguläre Arrays auswirken, sowie neue Methoden zu deren Verwendung in JavaScript.

    • Kapitel 11, „Versprechen von Objekten und asynchroner Programmierung“, enthält eine Einführung in Asynchronous Computing Objects (Versprechen), ein neues Sprachelement. Asynchrone Computerobjekte waren das Ergebnis massiver Anstrengungen und gewannen dank umfassender Unterstützung in Bibliotheken schnell an Popularität. Die ECMAScript 6-Spezifikation hat diese Objekte formalisiert und standardmäßig verfügbar gemacht.

    • Kapitel 12, „Proxy-Objekte und die Reflection-API“, enthält eine Einführung in die Reflection-API in JavaScript und in neue Proxy-Objekte, mit denen Sie Vorgänge mit dem Objekt abfangen können. Proxy-Objekte geben Entwicklern eine beispiellose Kontrolle über Objekte und damit unbegrenzte Möglichkeiten, neue Interaktionsmuster zu definieren.

    • Kapitel 13, „Verkapseln von Code in Modulen“, beschreibt das offizielle Modulformat für JavaScript. Ziel ist es, die zahlreichen Nicht-Standard-Formate für Moduldefinitionen zu ersetzen, die im Laufe der Jahre der Existenz der Sprache entstanden sind.

    • Anhang A, Kleinere Änderungen in ECMAScript 6, behandelt andere Änderungen in ECMAScript 6, die selten verwendet werden oder nichts mit den in den vorherigen Kapiteln beschriebenen größeren Änderungen zu tun haben.

    • Anhang B, Einführung in ECMAScript 7 (2016), beschreibt drei Ergänzungen des in der ECMAScript 7-Edition enthaltenen Standards, die für JavaScript keine so erheblichen Auswirkungen haben wie ECMAScript 6. Die

    Arbeit an ECMAScript 6 dauerte mehrere Jahre Das Technische Komitee TC-39 kam zu dem Schluss, dass ein derart langer Entwicklungsprozess völlig inakzeptabel ist. Aus diesem Grund wurde beschlossen, auf den jährlichen Veröffentlichungszyklus von Änderungen umzuschalten, um eine schnellere Implementierung neuer Funktionen in der Sprache zu gewährleisten.

    Häufigere Releases bedeuten weniger Innovationen in jeder nachfolgenden Ausgabe von ECMAScript als in ECMAScript 6. Um den Übergang zu einem neuen Zyklus anzuzeigen, wurde beschlossen, neue Versionen der Spezifikation nicht nach der Editionsnummer, sondern nach dem Erscheinungsjahr zu nummerieren. Aus diesem Grund heißt die Ausgabe von ECMAScript 6 jetzt auch ECMAScript 2015, und ECMAScript 7 heißt offiziell ECMAScript 2016. Das TC-39-Komitee beabsichtigt, das Benennungssystem mit der Jahreszahl in allen künftigen Ausgaben von ECMAScript zu verwenden.

    Die Arbeit an der ECMAScript 2016-Edition wurde im März 2016 abgeschlossen und umfasst nur drei Spracherweiterungen: einen neuen mathematischen Operator, eine neue Array-Methode und einen neuen Syntaxfehler. Alle drei Neuerungen werden später in diesem Anhang besprochen.

    Exponentiation-Operator


    Die einzige Änderung in der JavaScript-Syntax, die in ECMAScript 2016 bereitgestellt wird, ist der Exponentiationsoperator , der die gleichnamige mathematische Operation ausführt. JavaScript hat bereits eine Math.pow () -Methode , die Exponentiation ausführt , aber JavaScript ist eine der wenigen Sprachen geblieben, die die Verwendung der Methode anstelle des formalen Operators erfordert. Darüber hinaus behaupten einige Entwickler, dass der Operator leichter im Code zu lesen ist.

    Der Exponentiationsoperator hat die Form von zwei Sternchen (**): Der linke Operand wird als Basis und der rechte Operand als Grad verwendet. Zum Beispiel:

    let result = 5 ** 2;
    console.log(result); // 25
    console.log(result === Math.pow(5, 2)); // true

    In diesem Beispiel wird der Ausdruck 5 nach der zweiten Potenz berechnet. Das Ergebnis ist 25. Falls gewünscht, können dieselben Berechnungen immer noch mit der Math.pow () -Methode durchgeführt werden .

    Reihenfolge der Operationen


    Der Exponentiationsoperator hat die höchste Priorität aller Doppeloperatoren in JavaScript (unäre Operatoren haben eine höhere Priorität als **). Dies bedeutet, dass es zuerst in einem komplexen Ausdruck ausgeführt wird, zum Beispiel:

    let result = 2 * 5 ** 2;
    console.log(result); // 50

    Hier wird das erste Ergebnis 5 im zweiten Grad gefunden, dann wird der resultierende Wert mit 2 multipliziert. Das Endergebnis ist gleich 50.

    Operandenbeschränkungen


    Der Exponentiationsoperator legt einige ungewöhnliche Einschränkungen fest, die bei anderen Operatoren fehlen. Der linke Operand kann kein Ausdruck mit einem unären Operator sein, außer ++ und -. Das folgende Beispiel löst beispielsweise einen Syntaxfehler aus:

    // синтаксическая ошибка
    let result = -5 ** 2;

    Der Ausdruck -5 in diesem Beispiel wird als Syntaxfehler angesehen, da die Reihenfolge der Operationen nicht eindeutig festgelegt werden kann. Sollte der unäre Operator auf die Zahl 5 oder auf das Ergebnis des Ausdrucks 5 ** 2 zutreffen? Das Verbot der Verwendung von unären Ausdrücken links vom Exponentiationsoperator beseitigt diese Mehrdeutigkeit. Um Ihre Absichten klar auszudrücken, setzen Sie sie in Klammern -5 oder 5 ** 2, wie unten gezeigt:

    // правильно
    let result1 = -(5 ** 2); // результат равен -25
    // тоже правильно
    let result2 = (-5) ** 2; // результат равен 25

    Wenn Sie einen Ausdruck in Klammern setzen, wird der unäre Operator auf den gesamten Ausdruck angewendet. Wenn Sie -5 in Klammern setzen, versteht der Interpreter, dass die Zahl –5 zur zweiten Potenz erhöht werden muss.

    Ausdrücke mit den Operatoren ++ und - links vom Exponentiationsoperator müssen nicht in eckige Klammern eingeschlossen werden, da das Verhalten beider Operatoren eindeutig als auf ihre Operanden gerichtet definiert ist. Der Präfixoperator ++ oder - ändert seinen Operanden, bevor eine andere Operation ausgeführt wird, und die Postfixversionen ändern nichts, bis der gesamte Ausdruck ausgewertet wurde. In beiden Fällen verursachen diese Operatoren keine Fehler, wenn sie links vom Potenzierungsoperator verwendet werden. Beispiel:

    let num1 = 2,
        num2 = 2;
    console.log(++num1 ** 2); // 9
    console.log(num1);        // 3
    console.log(num2-- ** 2); // 4
    console.log(num2);        // 1

    In diesem Beispiel steigt der Wert von num1 vor dem Ausführen des Potenzierungsoperators an, sodass num1 den Wert 3 erhält und das Ergebnis der Operation 9 ist. Die Variable num2 speichert den Wert 2 vor dem Ausführen des Potenzierungsoperators und verringert sich dann auf 1.

    Über den Autor


    Nicholas Zakas entwickelt seit dem Jahr 2000 Webanwendungen, hauptsächlich auf Kundenseite, und ist weithin bekannt für seine Bücher und Vorträge über fortgeschrittene Techniken des Benutzeroberflächendesigns. Fünf Jahre lang vertiefte er seine Erfahrung bei Yahoo !, wo er als leitender Ingenieur für die Yahoo-Homepage verantwortlich war! .. Autor mehrerer Bücher, darunter Principles of Object-Oriented JavaScript (No Starch Press, 2014) und Professional JavaScript for Web Entwickler (Wrox, 2012).

    Über Science Editor


    Yuri Zaitsev (Juriy Zaytsev, im Internet unter dem Pseudonym kangax bekannt) ist ein in New York ansässiger Webentwickler. Erforscht und schreibt über die ungewöhnliche Natur von JavaScript seit 2007. Trägt zur Entwicklung mehrerer Open Source-Projekte bei, einschließlich Prototype.js und anderer populärer Projekte wie seiner eigenen Fabric.js. Mitbegründer der Druckerei printio.ru. Funktioniert derzeit auf Facebook.

    »Weitere Informationen zum Buch finden Sie auf der Website des Verlags.
    » Inhaltsverzeichnis
    » Auszug

    für Sparer 25% Rabatt auf Coupon - ECMAScript

    Jetzt auch beliebt: