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:
let 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 '+++':
let 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:
let 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:
let 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.