if-else-ში ხვეული ფრჩხილების არჩევითობის პრობლემა
მიუხედავად იმისა, რომ JavaScript იძლევა ზემოთ ნაჩვენები შემოკლებების გაკეთების საშუალებას ხვეული ფრჩხილებით, მე ზოგადად არ გირჩევთ ამის გაკეთებას, რადგან ეს რთულად აღმოსაჩენი შეცდომების ბუდეა. მაგალითად, იყოს შემდეგი კოდი:
let num = 3;
if (num > 0)
console.log(num);
დავუშვათ, ახლა გადავწყვიტეთ, რომ თუ
პირობა შესრულდა, გამოვიტანოთ მეორე
შეტყობინებაც '+++' ტექსტით:
let num = 3;
if (num > 0)
console.log(num);
console.log('+++');
თუმცა, ხვეული ფრჩხილების გარეშე პირობის შიგნით მხოლოდ პირველი შეტყობინებაა. ანუ პირველი სტრიქონი მუშაობს პირობის შესრულებისას, ხოლო მეორე - ყოველთვის.
ფაქტობრივად, ჩვენი კოდი ექვივალენტურია ასეთისა:
let num = 3;
if (num > 0) {
console.log(num);
}
console.log('+++'); // ეს სტრიქონი პირობის გარეთ აღმოჩნდა
ჩვენ კი ასეთი კოდი გვსურდა:
let num = 3;
if (num > 0) {
console.log(num);
console.log('+++'); // ეს სტრიქონი პირობის შიგნით
}
სწორედ ამიტომ რეკომენდირებულია ყოველთვის შეასრულოთ ხვეული ფრჩხილების განლაგება, რათა არ მოხვდეთ ამგვარ შეცდომებში.