Masalah Pilihan Opsyenal Kurungan Kerawang dalam if-else

Walaupun JavaScript membenarkan penyingkatan dengan kurungan kerawang seperti yang ditunjukkan di atas, saya secara amnya tidak mengesyorkan berbuat demikian, kerana ia boleh menjadi punca ralat yang sukar dikesan. Sebagai contoh, katakan terdapat kod berikut:

javascriptlet num = 3;

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

Katakan sekarang kita ingin, jika syarat dipenuhi, mencetak mesej kedua dengan teks '+++':

javascriptlet num = 3;

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

Walau bagaimanapun, tanpa kurungan kerawang, hanya mesej pertama yang berada di dalam blok syarat. Maksudnya, baris pertama akan dilaksanakan apabila syarat benar, manakala baris kedua - sentiasa.

Secara praktikal, kod kami bersamaan dengan ini:

javascriptlet num = 3;

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

console.log('+++'); // baris ini ternyata berada di luar syarat

Sedangkan kita mahukan kod seperti ini:

javascriptlet num = 3;

if (num > 0) {
  console.log(num);
  console.log('+++'); // baris ini berada di dalam syarat
}

Oleh sebab itu, adalah disyorkan untuk sentiasa meletakkan kurungan kerawang, bagi mengelakkan diri daripada terjerumus ke dalam ralat seumpama ini.