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.

