Мушкили ихтиёрӣ будани кавакҳо дар if-else
Гарчанде ки JavaScript кӯтоҳкардиҳои нишондодашударо бо кавакҳо иҷозат медиҳад, ман умуман инро тавсия намедиҳам, зеро ин сарзамини хатогиҳои душвотифҳам аст. Бигзор, масалан, коди зерин вуҷуд дошта бошад:
let test = 3;
if (test > 0)
console.log(test);
Бигзор акнун мо қарор додем, ки агар
шарт иҷро шавад, паёми дуввумро бо матни '+++' низ чоп кунем:
let test = 3;
if (test > 0)
console.log(test);
console.log('+++');
Аммо, бе кавакҳо дар дохили шарт танҳо паёми аввал қарор дорад. Яъне сатри аввал вақте иҷро мешавад, ки шарт дуруст бошад, ва сатри дуюм - ҳамеша.
Дар аслан, коди мо ба ин монанд аст:
let test = 3;
if (test > 0) {
console.log(test);
}
console.log('+++'); // ин сатр берун аз шарт монд
Ва мо коди зеринро мехостем:
let test = 3;
if (test > 0) {
console.log(test);
console.log('+++'); // ин сатр дар дохили шарт аст
}
Аз ин рӯ, тавсия дода мешавад, ки ҳамеша кавакҳоро ҷойгир кунед, то ки ба чунин навъ хатогиҳо дучор нашавед.