offline version v3
Запись на курсы по HTML, CSS, JavaScript, PHP, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗jsPmCdBOP 126 of 503 menu

Проблема необязательности фигурных скобок в 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('+++'); // эта строка внутри условия }

Именно поэтому рекомендуется всегда выполнять расстановку фигурных скобок, дабы не попадать в такого рода ошибки.

enru