Vorwort
Inhaltsverzeichnis
Das Buch kaufen
(Werbung, bitte nicht blockieren.)

Vorwort

Aufgrund seiner Verbreitung im Web und anderer Faktoren ist JavaScript kaum noch zu vermeiden. Das bedeutet jedoch nicht, dass es allseits beliebt ist. Mit diesem Buch hoffe ich, Sie davon zu überzeugen, dass JavaScript, obwohl Sie eine ganze Reihe von Eigenheiten bei der Nutzung akzeptieren müssen, eine anständige Sprache ist, mit der Sie sehr produktiv arbeiten können und die Spaß am Programmieren macht.

Obwohl ich die Entwicklung von JavaScript seit seiner Entstehung verfolgt habe, brauchte es lange, bis ich mich damit anfreunden konnte. Als es mir schließlich gelang, stellte sich heraus, dass meine bisherigen Erfahrungen mich bereits gut darauf vorbereitet hatten, da ich mit Scheme, Java (einschließlich GWT), Python, Perl und Self gearbeitet hatte (die alle JavaScript beeinflusst haben).

Im Jahr 2010 wurde ich auf Node.js aufmerksam, was mir die Hoffnung gab, JavaScript schließlich sowohl auf dem Server als auch auf dem Client verwenden zu können. Daraufhin wechselte ich zu JavaScript als meiner primären Programmiersprache. Während ich sie lernte, begann ich, ein Buch zu schreiben, das meine Entdeckungen dokumentierte. Dies ist das Buch, das Sie gerade lesen. Auf meinem Blog veröffentlichte ich Teile des Buches und andere Materialien zu JavaScript. Das half mir auf verschiedene Weise: Die positive Resonanz ermutigte mich, weiterzumachen und machte das Schreiben dieses Buches weniger einsam; Kommentare zu Blogbeiträgen lieferten mir zusätzliche Informationen und Tipps (wie überall in diesem Buch anerkannt); und es machte die Leute auf meine Arbeit aufmerksam, was schließlich dazu führte, dass O’Reilly dieses Buch veröffentlichte.

Daher hat die Entstehung dieses Buches über drei Jahre gedauert. Es hat von dieser langen Entstehungszeit profitiert, während der ich seinen Inhalt kontinuierlich verfeinert habe. Ich bin froh, dass das Buch endlich fertig ist und hoffe, dass die Leute es zum Erlernen von JavaScript nützlich finden werden. O’Reilly hat zugestimmt, es kostenlos online zur Verfügung zu stellen, was dazu beitragen sollte, es einem breiten Publikum zugänglich zu machen.

Was Sie über dieses Buch wissen müssen

Ist dieses Buch für Sie? Die folgenden Punkte können Ihnen bei der Entscheidung helfen

Für wen dieses Buch ist

Dieses Buch wurde von einem Programmierer für Programmierer geschrieben. Um es zu verstehen, sollten Sie daher bereits objektorientierte Programmierung beherrschen, beispielsweise über eine Mainstream-Programmiersprache wie Java, PHP, C++, Python, Ruby, Objective-C, C# oder Perl.

Daher richtet sich das Buch an Programmierer, die JavaScript schnell und richtig lernen möchten, und an JavaScript-Programmierer, die ihre Fähigkeiten vertiefen und/oder bestimmte Themen nachschlagen möchten.

Was nicht abgedeckt ist
Dieses Buch konzentriert sich auf die JavaScript-Sprache selbst. Sie finden beispielsweise keine Informationen zur Programmierung von Webbrowsern (DOM, asynchrone Programmierung usw.). Kapitel 33 verweist jedoch auf relevante Materialien.
Wie dieses Buch aufgebaut ist

Dieses Buch ist in vier Teile gegliedert, aber die beiden Hauptteile sind

  • JavaScript-Schnellstart
  • JavaScript im Detail

Diese Teile sind vollständig unabhängig! Sie können sie so behandeln, als wären es separate Bücher: Das erste ist eher ein Leitfaden, das zweite eher ein Nachschlagewerk. Die vier Teile dieses Buches erklärt Ihnen mehr über den Aufbau dieses Buches.

Welche JavaScript-Version dieses Buch verwendet
Dieses Buch lehrt ECMAScript 5, die aktuelle Version von JavaScript, die von allen modernen Engines unterstützt wird. Wenn Sie beispielsweise mit älteren Webbrowsern arbeiten müssen, erklärt Ihnen Kapitel 25, welche Funktionen exklusiv für ECMAScript 5 sind.

Tipps zum Lesen dieses Buches

Der wichtigste Tipp zum Erlernen von JavaScript ist: Lassen Sie sich nicht von den Details entmutigen. Ja, es gibt viele Details, wenn es um die Sprache geht, und dieses Buch behandelt die meisten davon. Aber es gibt auch eine relativ einfache und elegante „Gesamtübersicht“, auf die ich Sie hinweisen werde.

Die vier Teile dieses Buches

Dieses Buch ist in vier Teile gegliedert

Teil I
Dieser Teil lehrt Sie „Grundlegendes JavaScript“, eine möglichst kleine Teilmenge von JavaScript, die Ihnen dennoch produktives Arbeiten ermöglicht. Der Teil steht für sich; er hängt nicht von anderen Teilen ab und andere Teile hängen nicht von ihm ab.
Teil II
Dieser Teil ordnet JavaScript in einen historischen und technischen Kontext ein: Wann, warum und wie wurde es geschaffen? Wie steht es im Zusammenhang mit anderen Programmiersprachen? Welche wichtigen Schritte haben uns zu dem gebracht, wo wir heute stehen?
Teil III
Dieser Teil ist eher ein Nachschlagewerk: Suchen Sie nach einem Thema, das Sie interessiert, springen Sie hinein und erkunden Sie es. Viele kurze Beispiele sollen verhindern, dass die Dinge zu trocken werden.
Teil IV
Dieser Teil gibt Tipps zur Verwendung von JavaScript: Best Practices, fortgeschrittene Techniken und Lernressourcen. Er beschreibt auch einige wichtige Tools und Bibliotheken.

JavaScript-Kommandozeilen

Beim Lesen dieses Buches möchten Sie vielleicht eine Kommandozeile bereithalten. Das ermöglicht es Ihnen, Code interaktiv auszuprobieren. Die beliebtesten Optionen sind:

Node.js
Node.js wird mit einer interaktiven Kommandozeile geliefert. Sie starten sie, indem Sie den Shell-Befehl node aufrufen.
Browser
Alle gängigen Browser verfügen über Konsolen zur Eingabe von JavaScript, das im Kontext der aktuellen Seite ausgewertet wird. Suchen Sie einfach online nach dem Namen Ihres Browsers und „Konsole“.

Notationelle Konventionen

Die folgenden notationalen Konventionen werden im gesamten Buch verwendet.

Syntax beschreiben

Fragezeichen (?) werden verwendet, um optionale Parameter zu kennzeichnen. Zum Beispiel

parseInt(str, radix?)

Französische Anführungszeichen (Guillemets) bezeichnen Metacode. Sie können sich solchen Metacode als Platzhalter vorstellen, die durch tatsächlichen Code ersetzt werden müssen. Zum Beispiel

try {
    «try_statements»
}

„Weiße“ eckige Klammern kennzeichnen optionale syntaktische Elemente. Zum Beispiel

break ⟦«label»⟧

In JavaScript-Kommentaren verwende ich manchmal Backticks, um JavaScript von Englisch zu unterscheiden

foo(x, y); // calling function `foo` with parameters `x` and `y`

Referenzieren von Methoden

Ich beziehe mich auf eingebaute Methoden über ihren vollständigen Pfad

«Constructor».prototype.«methodName»()

Beispielsweise verweist Array.prototype.join() auf die Array-Methode join(); das heißt, JavaScript speichert die Methoden von Array-Instanzen im Objekt Array.prototype. Der Grund dafür wird in Schicht 3: Konstruktoren – Fabriken für Instanzen erklärt.

Befehlszeileninteraktion

Immer wenn ich ein neues Konzept einführe, illustriere ich es oft anhand einer Interaktion in einer JavaScript-Kommandozeile. Dies sieht wie folgt aus:

> 3 + 4
7

Der Text nach dem Größer-als-Zeichen ist die Eingabe, die von einem Menschen eingegeben wurde. Alles andere ist die Ausgabe der JavaScript-Engine. Zusätzlich verwende ich die Methode console.log(), um Daten in der Konsole auszugeben, insbesondere in (nicht-Kommandozeilen-)Quelldateien.

var x = 3;
x++;
console.log(x); // 4

Tipps, Hinweise und Warnungen

Tipp

Dieses Element kennzeichnet einen Tipp oder Vorschlag.

Hinweis

Dieses Element kennzeichnet einen allgemeinen Hinweis.

Warnung

Dieses Element weist auf eine Warnung oder Vorsichtsmaßnahme hin.

Schnelles Finden von Dokumentation

Obwohl Sie dieses Buch offensichtlich als Nachschlagewerk verwenden können, ist es manchmal schneller, Informationen online nachzuschlagen. Eine empfohlene Ressource ist das Mozilla Developer Network (MDN). Sie können das Web durchsuchen, um Dokumentationen auf MDN zu finden. Zum Beispiel findet die folgende Websuche die Dokumentation für die push()-Methode von Arrays:

mdn array push

Hinweis

Safari Books Online ist eine On-Demand-Digitale Bibliothek, die Experten Inhalte in Buch- und Videoform von den weltweit führenden Autoren in Technologie und Wirtschaft bereitstellt.

Technikprofis, Softwareentwickler, Webdesigner und Geschäfts- und Kreativprofis nutzen Safari Books Online als ihre primäre Ressource für Recherche, Problemlösung, Lernen und Zertifizierungstraining.

Safari Books Online bietet eine Reihe von Plänen und Preisen für Unternehmen, Behörden, Bildungseinrichtungen und Einzelpersonen.

Mitglieder haben Zugriff auf Tausende von Büchern, Schulungsvideos und Vorabmanuskripten in einer voll durchsuchbaren Datenbank von Verlagen wie O’Reilly Media, Prentice Hall Professional, Addison-Wesley Professional, Microsoft Press, Sams, Que, Peachpit Press, Focal Press, Cisco Press, John Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett, Course Technology und Hunderten weiteren. Weitere Informationen zu Safari Books Online finden Sie auf unserer Website online.

So erreichen Sie uns

Bitte richten Sie Kommentare und Fragen zu diesem Buch an den Verlag

O’Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
800-998-9938 (in den USA oder Kanada)
707-829-0515 (international oder lokal)
707-829-0104 (Fax)

Wir haben eine Webseite für dieses Buch, auf der wir Korrekturen, Beispiele und zusätzliche Informationen auflisten. Sie können diese Seite unter http://oreil.ly/speaking-js aufrufen.

Um Kommentare abzugeben oder technische Fragen zu diesem Buch zu stellen, senden Sie eine E-Mail an .

Weitere Informationen zu unseren Büchern, Kursen, Konferenzen und Neuigkeiten finden Sie auf unserer Website unter http://www.oreilly.com.

Finden Sie uns auf Facebook: http://facebook.com/oreilly

Folgen Sie uns auf Twitter: http://twitter.com/oreillymedia

Sehen Sie uns auf YouTube: http://www.youtube.com/oreillymedia

Danksagungen

Ich möchte den folgenden Personen danken, die alle dazu beigetragen haben, dass dieses Buch möglich wurde.

Vorbereitung auf JavaScript

Die folgenden Personen legten den Grundstein für mein Verständnis von JavaScript (in chronologischer Reihenfolge)

  • Prof. François Bry, Sven Panne und Tim Geisler (Scheme)
  • Prof. Don Batory (technisches Schreiben, Design von Programmiersprachen)
  • Prof. Martin Wirsing, Alexander Knapp, Matthias Hölzl, Hubert Baumeister und verschiedene andere ehemalige Kollegen am Institut für Informatik der Universität München (formale Methoden, verschiedene Themen der Softwareentwicklung)

Hilfe bei JavaScript

Teilnehmer der es-discuss Mailingliste
Ihre Antworten halfen mir, das Design von JavaScript zu verstehen. Ich bin ihnen zutiefst dankbar für ihre Geduld und Unermüdlichkeit. Vier Personen ragten heraus: Brendan Eich, Allen Wirfs-Brock, Mark Miller und David Herman.
Leser meines Blogs 2ality
Ich veröffentlichte Teile dieses Buches auf meinem Blog und erhielt eine unglaubliche Menge nützliches Feedback. Einige Namen unter vielen: Ben Alman, Brandon Benvie, Mathias Bynens, Andrea Giammarchi, Matthias Reuter und Rick Waldron.

Weitere Quellen werden in den Kapiteln anerkannt.

Rezensionen

Ich bin den folgenden Personen, die dieses Buch rezensiert haben, sehr verpflichtet. Sie lieferten wichtige Rückmeldungen und Korrekturen. In alphabetischer Reihenfolge

  • Mathias Bynens
  • Raymond Camden
  • Cody Lindley
  • Shelley Powers
  • Andreas Schroeder
  • Alex Stangl
  • Béla Varga
  • Edward Yue Shung Wong
Weiter: I. JavaScript-Schnellstart