Vorwort
Inhaltsverzeichnis
Bitte unterstützen Sie dieses Buch: kaufen Sie es (PDF, EPUB, MOBI) oder spenden Sie
(Werbung, bitte nicht blockieren.)

Vorwort

Randfälle! Mein Leben als Projektredakteur der ES6-Spezifikation drehte sich alles um Randfälle. Wie bei den meisten Softwareprogrammen wird das Design einer Programmiersprachenfunktion typischerweise von spezifischen Anwendungsfällen angetrieben. Aber Programmierer können und verwenden oft neue Wege für Sprachmerkmale, die weit außerhalb des Rahmens dieser ursprünglichen Anwendungsfälle liegen. Darüber hinaus steht kein Sprachmerkmal für sich allein. Jedes Merkmal interagiert potenziell mit jedem anderen Merkmal. Diese unerwarteten Nutzungen und Merkmal-Interaktionen sind das Reich der Randfälle.

Betrachten Sie zum Beispiel eine Funktion, die einen Ausdruck zur Initialisierung von Standardwerten für Parameter hat, der die eval-Funktion verwendet, um zuerst eine lokale Variable mit demselben Namen wie eine in der Funktionskörper deklarierte lokale Variable zu deklarieren und dann als Parameterwert eine Pfeilfunktion zurückgibt, die auf diesen Namen verweist. Was passiert, wenn Code im Funktionskörper auf den Parameterwert zugreift und die Pfeilfunktion aufruft? Auf welche Variable wird zugegriffen? Gibt es einen Fehler, der erkannt und gemeldet werden sollte? Es sind Randfälle wie dieser, die mich während der Entwicklung von ES6 wachhielten.

Ein gutes Sprachdesign muss zumindest solche Randfälle berücksichtigen. Die Spezifikation einer massiv beliebten Sprache, die mehrere Implementierungen haben wird, muss festlegen, was für alle Randfälle passiert. Andernfalls werden verschiedene Implementierungen der Sprache Randfälle unterschiedlich behandeln und Programme werden nicht überall gleich funktionieren.

Wenn Sie ES6 wirklich verstehen wollen, müssen Sie verstehen, wie jedes Merkmal funktioniert, auch wenn Sie es mit ungewöhnlichen Situationen und Randfällen zu tun haben. Was Axel Rauschmayers "Exploring ES6" von anderen Büchern unterscheidet, ist, dass es sich wirklich um die inneren Abläufe von ECMAScript kümmert. Es beschreibt nicht nur die gängigen Anwendungsfälle, die Sie wahrscheinlich bereits verstehen. Es dringt tief in die Semantik ein und wälzt sich bei Bedarf in den Randfällen. Es erklärt, warum Funktionen so funktionieren, wie sie funktionieren, und wie sie in realistischem Code verwendet werden. Wenn Sie das Material in diesem Buch assimilieren, werden Sie ein ES6-Experte sein.

Allen Wirfs-Brock
ECMAScript 2015 (ES6) Specification Editor

Weiter: Vorwort