Problemet med valgfrie krøllete parenteser i if-else

Til tross for at JavaScript tillater de viste forkortelsene med krøllete parenteser, vil jeg generelt ikke anbefale å gjøre det, ettersom det er en kilde til vanskelige å oppdage feil. La oss for eksempel se på følgende kode:

javascriptlet test = 3;

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

La oss si at vi nå bestemmer oss for, hvis betingselsen er oppfylt, å også vise en andre melding med teksten '+++':

javascriptlet test = 3;

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

Imidlertid, uten krøllete parenteser er det kun den første meldingen som er innenfor betingselsen. Det vil si at den første linjen vil kjøre når betingselsen er sann, mens den andre - alltid.

Faktisk er koden vår ekvivalent med denne:

javascriptlet test = 3;

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

console.log('+++'); // denne linjen viste seg å være utenfor betingselsen

Men vi ønsket oss en slik kode:

javascriptlet test = 3;

if (test > 0) {
  console.log(test);
  console.log('+++'); // denne linjen er innenfor betingselsen
}

Nettopp derfor anbefales det alltid å plassere krøllete parenteser for å unngå å falle i slike feil.