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

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

← →
↑
en ru