Мушкили ихтиёрӣ будани кавакҳо дар if-else

Гарчанде ки JavaScript кӯтоҳкардиҳои нишондодашударо бо кавакҳо иҷозат медиҳад, ман умуман инро тавсия намедиҳам, зеро ин сарзамини хатогиҳои душвотифҳам аст. Бигзор, масалан, коди зерин вуҷуд дошта бошад:

javascriptlet test = 3;

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

Бигзор акнун мо қарор додем, ки агар шарт иҷро шавад, паёми дуввумро бо матни '+++' низ чоп кунем:

javascriptlet test = 3;

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

Аммо, бе кавакҳо дар дохили шарт танҳо паёми аввал қарор дорад. Яъне сатри аввал вақте иҷро мешавад, ки шарт дуруст бошад, ва сатри дуюм - ҳамеша.

Дар аслан, коди мо ба ин монанд аст:

javascriptlet test = 3;

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

console.log('+++'); // ин сатр берун аз шарт монд

Ва мо коди зеринро мехостем:

javascriptlet test = 3;

if (test > 0) {
  console.log(test);
  console.log('+++'); // ин сатр дар дохили шарт аст
}

Аз ин рӯ, тавсия дода мешавад, ки ҳамеша кавакҳоро ҷойгир кунед, то ки ба чунин навъ хатогиҳо дучор нашавед.