Hilfe bei Variablen, Schleifen und If-Abfrage in JavaScript?

4 Antworten

Bei Variablen weiß ich nur, dass "var", "const" und "tel" existieren, wobei var nicht mehr aktuell ist.

Der wesentliche Unterschied zwischen var und let/const ist der Zugriffsbereich der Variable, die über sie angelegt wird.

Variablen, die mit var erstellt werden, sind innerhalb des gesamten Funktionskörpers sichtbar, in dem sie liegen (oder global, wenn sie außerhalb einer Funktion erstellt werden).

Variablen, die mit let/const erstellt werden, sind nur innerhalb des Code-Blocks sichtbar, in dem sie erstellt wurden. Liegen sie nicht innerhalb eines Code-Blocks, sind sie global verfügbar.

Gerade da ihr Zugriffsbereich weiter eingeschränkt ist, erlaubt dir ihre Verwendung auch eine etwas saubere Strukturierung im Code. Du kannst womöglich potenzielle Fehlerquellen reduzieren. Die Nutzung von var ist dennoch weiterhin erlaubt. Es ist kein als deprecated gekennzeichnetes Sprachfeature.

Die Besonderheit von const-Variablen ist, dass sie initialisiert werden müssen und nicht neu definiert werden können.

Ein Beispiel, welches alle drei Fälle verdeutlicht:

const number = 1;

function doSomething() {
  for (var i = 0; i < 5; ++i) {
    let j = i;
  }

  console.log(i); // 5
  console.log(j); // error: j is not defined
  console.log(number); // 1
  number = 2; // error: assignment to const variable
}

doSomething();

Bezüglich Schleifen:

Mit Schleifen können Abläufe n-Mal wiederholt werden.

for (let i = 0; i < 5; ++i) {
  console.log(i);
}

Es gibt verschiedene Schleifentypen in JavaScript. Eine grundsätzliche Unterscheidung kann man danach treffen, ob die Schleife kopfgesteuert ist (wie for oder while) oder fußgesteuert (do-while). Je nachdem wird also vor der ersten Ausführung des Rumpfs entschieden, ob er ausgeführt werden soll oder danach (ob eine Wiederholung erwünscht ist).

const number = 1;

// do-while
do {
  console.log("I'm here in any case.");
}
while (number === 2);

// while
while (number === 2) {
  console.log("I'm here only if condition is true.");
}

Ein paar praktische Anwendungsfälle, wo Schleifen verwendet werden können:

  • Wenn man Daten in einer Datenmenge suchen möchte
  • Wenn man eine Datenmenge sortieren möche
  • Bei einem Spiel kann eine Schleife dafür sorgen, dass das Spielfeld immer wieder neu gezeichnet wird (Stichwort: Daumenkino)

Hinsichtlich Verzweigungen reicht es zu wissen, dass ihr Code-Block nur ausgeführt wird, wenn die Bedingung bzw. der Ausdruck im Kopf wahr ist.

const number = 5;

if (number === 5) {
  console.log("Number is 5.");
}

Eine Verzweigung kann zu einer expliziten Entweder-oder-Struktur ausgebaut werden:

const number = 5;

if (number === 5) {
  console.log("Number is 5.");
}
else {
  console.log("Number is not 5.");
}
Und wie erkenne ich, ob bei dem code ein fehler ist?

Beschäftige dich mit den Syntaxregeln, dann findest du auch Syntaxfehler. Ob ein Satz in der deutschen Sprache einen Fehler enthält, kannst du ja auch nur dann beurteilen, wenn du weißt, wie die einzelnen Wörter geschrieben werden sowie die Regeln der Zeichensetzung kennst.

Mit absichtlich eingebauten Tippfehlern oder fehlenden Zeichen (z.B. Anführungszeichen, Klammern) kannst du in einer Prüfung auf jeden Fall rechnen. Du kannst ebenso einplanen, dass gerade die Fehler, die ich in meinem obigen Snippet gezeigt habe, irgendwo ihren Platz finden.

Ein zweiter Teil sind logische Fehler. Solche sind meist schwerer zu finden. Dafür musst du verstehen, was im Code passiert und was generell erreicht werden soll.

Ein klassisches Beispiel:

for (let i = 0; i > 5; ++i) {
  console.log(i);
}

Eine Ausgabe in der Konsole wird es nie geben, da die Bedingung im Schleifenkopf nie erfüllt wird.

Ganz einfach, code einfach herum, installier dir eine Umgebung (z.B.: Visual Studio Code) und mach irgendwelche beispiele.

var - ist für Variabeln die überall im Code verwendet werden können (sie können, werden aber nicht in Methoden verwendet, sondern in der Klasse)

let - ist eine Variable, die man nur in der Methode (auch in der Klasse möglich, hätten dann den gleichen nutzen wie var) verwendet (je nachdem wo sie in der Methode ist, kann sie nur in bestimmten Bereichen verwendet werden)

const - ist eine Variable dessen Wert nicht geändert werden kann (Konstante)

einfach machen

https://www.w3schools.com/java/default.asp

und viel selber schreiben , ggf auch abschreiben , den sehen wo fehler sind kannst du nur wenn du auch weisst wie es richtig ist, bzw wie man es auch falsch macht. aus fehlern lernt man hier mehr als auch nur durch lösungen . vor allem syntaxfehler sind einfach routine bis man sie sieht .

für ganz genaue erklärungen gibts hier das werk

https://openbook.rheinwerk-verlag.de/javainsel/

und übungen dazu

https://tutego.de/javabuch/aufgaben/index.html

p.s. und JAVA ist nicht Javascript . das lernt man ja in der ersten Stunde . beim ersten link findest du auch was über javascript -


orochi02  06.05.2022, 14:06

wenn du genau hinschaust, handelt es um javascript nicht um java

0
TechPech1984  06.05.2022, 14:21
@orochi02

wenn du genau hinschaust, er ist da nicht eindeutig , genau das reib ich dem fragenden gerne unter die nase . wer nicht mal den unterschied kennt hat mal wieder nicht aufgepasst im unterricht ;) aber ich ergänze es gerne .

1

schleifen und if-else abfragen kannst du dir denke ich selbst beibringen

der unterschied zu var, const und let ist:

var = "veraltet" mit komischen regeln

let = variablen sowie mans in anderen programmiersprachen kennt

const = variablen die nicht mehr verändert werden können sowie mans in anderen programmiersprahcen kennt

fehler erkennst du daran, dass dir dein programm ein fehler an den kopf schmeißt


TechPech1984  06.05.2022, 14:18

naja , meist wird sowas als zettel/pdf ausgeteilt , da gibts nicht viel fehlermeldungen und ob man fürs abtippen zeit hat ;)

1
regex9  06.05.2022, 16:27
let = variablen sowie mans in anderen programmiersprachen kennt

Vorsicht bei so einer Aussage. 😉 Während man bspw. in CLisp mit let mehrere Symbole an einen lokalen Kontext bindet, erzeugt man in Swift mit diesem Schlüsselwort Konstanten. In JavaScript werden mit let nur lokale Variablen erstellt.

0
orochi02  06.05.2022, 16:29
@regex9

damit meinte ich nicht das keyword sondern variablen an sich, aber ja man kanns missverstehen

0