Die probleem van die opsionele aard van krulhakies in if-else

Ondanks die feit dat JavaScript die bogenoemde afkortings met krulhakies toelaat, beveel ek oor die algemeen nie aan om dit te doen nie, aangesien dit 'n broeinestel is vir moeilik-opspoorbare foute. Kom ons sê byvoorbeeld daar is die volgende kode:

javascriptlet toets = 3;

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

Kom ons sê nou ons het besluit om, as die voorwaarde waaraan voldoen word, ook 'n tweede boodskap met die teks '+++' uit te voer:

javascriptlet toets = 3;

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

Maar, sonder krulhakies is slegs die eerste boodskap binne die voorwaarde. Dit beteken die eerste reël sal uitgevoer word wanneer die voorwaarde waar is, en die tweede - altyd.

In werklikheid is ons kode gelykstaande aan die volgende:

javascriptlet toets = 3;

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

console.log('+++'); // hierdie reël het buite die voorwaarde beland

En wat ons sou wou hê, is hierdie kode:

javascriptlet toets = 3;

if (toets > 0) {
  console.log(toets);
  console.log('+++'); // hierdie reël is binne die voorwaarde
}

Presies daarom word dit aanbeveel om altyd die krulhakies te plaas, om nie in hierdie soort foute te trap nie.