Dies ist eine alte Version des Dokuments!
LU02.L01 - Keywords
Auftrag
- Analysieren Sie die nachfolgenden Codebeispiele und versuchen Sie abzuschäutzen, was im Terminal ausgegeben wird.
- Überprüfen Sie Ihre Lösung mit der tatsächlichen Ausgabe.
- Erklären Sie das Verhalten als Incode-Kommentar
- Hinweis: Vervollständigen Sie abschliessend Ihren Code durch die Vorgaben gemäss Unterrichtsinput How to Comment.
Teilauftrag A
Teilauftrag B
function testLet() { if (true) { let y = 20; console.log("Inside block:", y); } console.log("Outside block:", y); } testLet();
Ausgabe
Inside block: 20 ReferenceError: y is not defined * let ist block-skopiert → die Variable y existiert nur innerhalb der geschweiften Klammern { ... }. * Innerhalb des Blocks funktioniert der Zugriff (20). * Ausserhalb des Blocks ist y nicht definiert → ReferenceError.
Teilauftrag C
const user = { name: "Anna" }; user.name = "Max"; console.log(user); user = { name: "Lena" }; console.log(user);
Lösung
{ name: 'Max' } TypeError: Assignment to constant variable. * Mit const kann die Referenz nicht neu zugewiesen werden. * Das Objekt selbst ist aber veränderbar → daher funktioniert user.name = "Max". * Beim Versuch user = { name: "Lena" } tritt ein TypeError auf, weil die Referenz geändert werden soll.