if-else-də fiqurlu mötərizələrin isteyi olmama problemi
JavaScript-in yuxarıda göstərilən fiqurlu mötərizə ixtisarlarına icazə verməsinə baxmayaraq, ümumiyyətlə, bunu etməyi tövsiyə etmirəm, çünki bu, aşkar edilmesi çətin xətalar üçün münbit bir yerdir. Məsələn, aşağıdakı kod nümunəsini götürək:
let test = 3;
if (test > 0)
console.log(test);
Tutaq ki, indi qərara aldıq ki, şərt ödənildikdə,
'+++' mətninə malik ikinci bir mesaj də çap edək:
let test = 3;
if (test > 0)
console.log(test);
console.log('+++');
Ancaq, fiqurlu mötərizələr olmadan şərtin daxilində yalnız birinci mesaj durur. Yəni, birinci sətir şərt doğru olduqda işləyəcək, ikinci sətir isə həmişə işləyəcək.
Əslində bizim kodumuz aşağıdakı koda bərabərdir:
let test = 3;
if (test > 0) {
console.log(test);
}
console.log('+++'); // bu sətir şərtin xaricində qaldı
Biz isə belə bir kod istəyirdik:
let test = 3;
if (test > 0) {
console.log(test);
console.log('+++'); // bu sətir şərtin daxilində
}
Məhz buna görə də bu cür xətaların qarşısını almaq üçün həmişə fiqurlu mötərizələrin qoyulması tövsiyə olunur.