If/else statements
The if/else statement
Section titled “The if/else statement”Das if/else Statement kontrolliert, was ein Programm in spezifischen Situationen machen soll (also wenn es zwei Möglichkeiten hat). Man nennt if/else auch ein control flow statement.
if (condition) { // do stuff here} else { // do other stuff here}Die condition ist ein Ausdruck, d.h., hier kann alles stehen. Wenn der Ausdruck zu true evaluiert wird, führt JavaScript den Code im if Block aus. Wenn der Ausdruck false ist, führt JavaScript den Code im else Block aus.
Else if
Section titled “Else if”Wenn wir mehr als zwei Möglichkeiten haben, schieben wir ein else if ein:
if (condition) { // do stuff here} else if (another condition) { // do other stuff here} else { // do}Truthy and falsey
Section titled “Truthy and falsey”Jede condition(= Bedingung) ist ein Ausdruck, den JavaScript auf seinen Wahrheitsgehalt prüft. Ein Ausdruck wird aber erst dann von truthy zu true bzw. von falsey to false, wenn der Wert in ein Bool’schen Ausdruck konvertiert wird.
if (condition) { // run this block if condition is truthy} else { // run this block if condition is falsey}Es gibt sechs verschiedene falsey Werte:
falseundefinednull0(numerische Null)NaN(Not a Number)- “ (empty string)
Alle anderen Werte sind truthy.
Die Umwandlung von truthy oder falsey Werten zu true oder false passiert automatisch. Wir nennen den Vorgang automatic type conversion.
Diese automatic type conversion ist verantwortlich dafür, dass wir sowas schreiben können:
const str = '';
if (str) { // run this block when the string is not empty} else { // run this block when the string is empty}if (str) ist gleichbedeutend mit if (string === true). Wir brauchen also gar nicht lang auf Gleichheit prüfen, JavaScript erledigt das einfach so.