Проблемът с незадължителните фигурни скоби в 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('+++'); // този ред е вътре в условието
}
Exactly затова се препоръчва винаги да се извършва поставянето на фигурни скоби, за да не се попада в подобни грешки.