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.
Ist dieses Buch für Sie? Die folgenden Punkte können Ihnen bei der Entscheidung helfen
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.
Dieses Buch ist in vier Teile gegliedert, aber die beiden Hauptteile sind
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.
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.
Dieses Buch ist in vier Teile gegliedert
Beim Lesen dieses Buches möchten Sie vielleicht eine Kommandozeile bereithalten. Das ermöglicht es Ihnen, Code interaktiv auszuprobieren. Die beliebtesten Optionen sind:
node aufrufen. Die folgenden notationalen Konventionen werden im gesamten Buch verwendet.
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`
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.
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.
varx=3;x++;console.log(x);// 4
Dieses Element kennzeichnet einen Tipp oder Vorschlag.
Dieses Element kennzeichnet einen allgemeinen Hinweis.
Dieses Element weist auf eine Warnung oder Vorsichtsmaßnahme hin.
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
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.
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 bookquestions@oreilly.com.
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
Ich möchte den folgenden Personen danken, die alle dazu beigetragen haben, dass dieses Buch möglich wurde.
Die folgenden Personen legten den Grundstein für mein Verständnis von JavaScript (in chronologischer Reihenfolge)
Weitere Quellen werden in den Kapiteln anerkannt.
Ich bin den folgenden Personen, die dieses Buch rezensiert haben, sehr verpflichtet. Sie lieferten wichtige Rückmeldungen und Korrekturen. In alphabetischer Reihenfolge