if-else yapısında isteğe bağlı küme parantezleri sorunu
JavaScript'in yukarıda gösterilen küme parantezi kısayollarına izin vermesine rağmen, genel olarak bunu yapmanızı pek tavsiye etmiyorum, çünkü bu, tespit edilmesi zor hatalar için bir yuva görevi görür. Örneğin aşağıdaki kod olduğunu varsayalım:
javascriptlet test = 3;
if (test > 0)
console.log(test);
Şimdi diyelim ki koşul sağlandığında,
'+++' yazılı ikinci bir mesaj daha
göstermeye karar verdik:
javascriptlet test = 3;
if (test > 0)
console.log(test);
console.log('+++');
Ancak, küme parantezleri olmadan koşulun içinde sadece ilk mesaj bulunur. Yani ilk satır koşul doğru olduğunda çalışacak, ikincisi ise her zaman çalışacaktır.
Aslında kodumuz buna eşdeğerdir:
javascriptlet test = 3;
if (test > 0) {
console.log(test);
}
console.log('+++'); // bu satır koşulun dışında kaldı
Oysa biz şöyle bir kod istiyorduk:
javascriptlet test = 3;
if (test > 0) {
console.log(test);
console.log('+++'); // bu satır koşulun içinde
}
İşte bu yüzden, bu tür hatalara düşmemek için her zaman küme parantezlerinin kullanılması önerilir.