Das Problem der optionalen geschweiften Klammern bei if-else

Obwohl JavaScript die oben gezeigten Abkürzungen ohne geschweifte Klammern erlaubt, rate ich im Allgemeinen davon ab, dies zu tun, da dies ein Nährboden für schwer auffindbare Fehler ist. Nehmen wir zum Beispiel den folgenden Code:

javascriptlet test = 3;

if (test > 0)
  console.log(test);

Nehmen wir nun an, wir haben entschieden, falls die Bedingung erfüllt ist, eine zweite Nachricht mit dem Text '+++' auszugeben:

javascriptlet test = 3;

if (test > 0)
  console.log(test);
  console.log('+++');

Allerdings befindet sich ohne geschweifte Klammern nur die erste Nachricht innerhalb der Bedingung. Das bedeutet, die erste Zeile wird bei erfüllter Bedingung ausgeführt, und die zweite - immer.

Tatsächlich ist unser Code gleichbedeutend mit diesem:

javascriptlet test = 3;

if (test > 0) {
  console.log(test);
}

console.log('+++'); // diese Zeile befindet sich außerhalb der Bedingung

Wir hätten aber diesen Code gewollt:

javascriptlet test = 3;

if (test > 0) {
  console.log(test);
  console.log('+++'); // diese Zeile ist innerhalb der Bedingung
}

Genau aus diesem Grund wird empfohlen, immer geschweifte Klammern zu setzen, um nicht in derartige Fehler zu geraten.