Liebe Leserinnen und Leser,
heute ist die zweite, aktualisierte und überarbeitete Auflage des JavaScript-Handbuchs erschienen. Gegenüber der ersten Auflage sind im Wesentlichen folgende Themen hinzugekommen:
async
und await
Das Buch richtet sich weiterhin an verschiedene Zielgruppen: zum einen an Leser, die generell noch überhaupt keine Programmiererfahrung haben, weder in JavaScript noch in einer anderen Programmiersprache. Diese Leser erwartet in meinem Buch neben der Einführung in JavaScript auch Hintergrundwissen zu Programmierkonzepten und -paradigmen. Unabhängig vom individuellen Hintergrundwissen erhalten Leser mit meinem Buch eine umfangreiche Einführung in die Sprache an sich, in die wichtigsten APIs und Anwendungsgebiete. Das Buch richtet sich dabei auch an Leser, die bereits Erfahrung mit JavaScript haben und diese nun vertiefen oder einfach ein zuverlässiges, umfangreiches Nachschlagewerk zur Hand haben möchten.
Den Quelltext zur zweiten Auflage finden Sie weiterhin im Download-Bereich des Buches. Darüber hinaus stelle ich den Quelltext aber nun auch zusätzlich über ein Repository bei GitHub zur Verfügung. Wenn Sie bereits mit Git arbeiten, bietet es sich also an, das Repository auf Ihren Rechner zu klonen:
$ git clone https://github.com/<GIT_USERNAME>/javascripthandbuch.git
Der Vorteil davon ist, dass Sie Aktualisierungen am Quelltext besser nachvollziehen und wie bei Git gewohnt über git pull
entsprechend herunterladen können. Umgekehrt können Sie mir natürlich auch - für den Fall, dass Sie in einem Listing einen Fehler finden - die entsprechenden Anmerkungen als Pull-Request zukommen lassen. Oder Sie schreiben mir Ihre Anmerkungen an die weiterhin hierfür vorgesehene E-Mail-Adresse.
Viel Spaß mit der zweiten Auflage! Philip Ackermann
In Listing 4.3 hat sich ein Fehler eingeschlichen. An den Objekten x
und y
wird jeweils die Eigenschaft name
verwendet, die Konsolenausgaben greifen aber auf die Eigenschaft value
zu.
'use strict';
function example(x) {
console.log(x.value);
x.name = 5;
console.log(x.value);
}
let y = {
name: 4711
};
console.log(y.value);
example(y);
console.log(y.value);
Damit das Listing zum Text passt, muss einheitlich die gleiche Eigenschaft verwendet werden:
Egal, ob man eine Website entwickelt, einen Webservice oder eine Desktopanwendung: immer wieder benötigt man „Dummy-Daten“, sprich Daten, die während der Entwicklung als Platzhalter dienen: sei es, damit die Anwendung sich „echter“ anfühlt oder damit ein Webservice schonmal Daten zurückliefert, auch wenn die Verbindung zur Datenbank noch nicht implementiert wurde.
Im Folgenden eine kurze Auflistung von Web APIs, die für die Webentwicklung interessant und relevant sind.
Hinweis: Weitere Informationen zu Web APIs finden Sie übrigens in meinem JavaScript-Handbuch.
Heute wies mich ein Leser darauf hin, dass es bei dem Drag&Drop-Beispiel aus Listing 12.43 (HTML) und Listing 12.44 (JavaScript) in Firefox Probleme gibt bzw. folgender Code so nicht funktioniert:
target.addEventListener('drop', function(event) {
if(event.target.id === 'target') {
// Funktioniert nicht in Firefox
event.srcElement.innerHTML += event.dataTransfer.getData('text/html');
}
onLeave(event);
})