Zum Inhalt springen

Kompetenzraster für Teil 1

Mit diesem Raster schätzt du ein, ob du für Teil 2 bereit bist. Lies jede Zeile und löse die Prüfaufgabe daneben, ohne nachzuschauen. Fällt sie dir leicht, hast du das Ziel erreicht. Wenn nicht, führt dich der Link in der letzten Spalte zur passenden Stelle.

Ich kann …PrüfaufgabeNachschlagen
Code mit export und import auf Module verteilenErkläre, warum node main.mjs vor der ersten Ausgabe abbricht, wenn in catalog.mjs ein export fehlt.Module und Pakete
ein Projekt mit package.json einrichten und Skripte startenFüge einem Projekt ein Skript hinzu und starte es mit npm run.Module und Pakete
Versionsangaben lesen und den Zweck der Lock-Datei erklärenErkläre den Unterschied zwischen 5.0.5 und ^5.0.5 und sag, ob package-lock.json ins Repo gehört.Module und Pakete
erklären, warum zwei Variablen dasselbe Objekt ändern könnenErkläre den Fehler mit den Zelten an der Skizze mit den zwei Variablen.Werte und Referenzen
Objekte flach und tief kopierenSag, wann { ...item } genügt und wann es structuredClone braucht.Werte und Referenzen
Daten ändern, ohne das Original zu verändernSchreib eine Funktion, die ein Ding in einer neuen Liste als ausgeliehen markiert.Werte und Referenzen
Listen mit map, filter, find und some auswertenListe die Namen der Dinge auf, die mehr als CHF 40 Pfand kosten und da sind.Funktionen und Arrays
mit reduce zählen und Listen ohne Nebenwirkung sortierenZähle die ausgeliehenen Dinge pro Kategorie und sortiere ihre Namen mit localeCompare.Funktionen und Arrays
die Reihenfolge von Code mit Promises und Timern vorhersagenSag die Ausgabe des Beispiels zur Ereignisschleife voraus und begründe sie.Asynchrones JavaScript
Daten mit fetch laden und Fehler verständlich meldenErkläre, warum fetch bei Status 404 nicht ablehnt, und zeig, wie du den Fehler trotzdem bemerkst.Asynchrones JavaScript
eine Anfrage nach einer Wartezeit abbrechenLade den Katalog mit einer Wartezeit von einer Sekunde vom Server, der mit ?delay=3000 antwortet.Asynchrones JavaScript
erklären, wie ein Proxy Änderungen bemerkt (Exkurs)Erkläre, was track und trigger im kleinen reaktiven System tun.Proxy und Getter

Für Teil 2 brauchst du vor allem Module, Arrays und fetch. Die letzte Zeile gehört zum Exkurs und ist freiwillig.

Was die Aufträge von Martina Hostettler in diesem Teil ergeben haben, steht im Kursrepo im Ordner case/01-javascript/de. Es gibt noch keine Oberfläche, nur die Hilfsfunktionen für den Katalog, die Übersicht für den Tresen und den kleinen Server. Die Tests im Ordner tests prüfen die Wünsche aus allen vier Kapiteln.

Terminal-Fenster
npm install
npm test

Hast du in Teil 1 nicht alles geschafft, startest du Teil 2 mit diesem Stand.

Texte und Abbildungen stehen unter CC BY-SA 4.0, der Code unter der MIT-Lizenz und die Daten des Kurses unter CC0 1.0. Die Schrift der Abbildungen ist Kalam unter der SIL Open Font License 1.1. Die Quellen liegen auf GitHub.