Этот короткий фрагмент кода, очевидно, неисправен: не должно быть указаноинтерпретатор JavaScript игнорирует ошибку синтаксиса
if (5 > 2) {
console.log("5 > 2");
} else (5 < 2) {
console.log("5 < 2");
}
Условие для else
. Выполнение этого кода приведет к SyntaxError: Unexpected token {
, как и ожидалось.
Проблема заключается в том, что после незначительных изменений (перенос левой фигурной скобки на новую строку), интерпретатор будет просто игнорировать ошибку синтаксиса.
Этот код:
if (5 > 2) {
console.log("5 > 2");
} else (5 < 2)
{
console.log("5 < 2");
}
результаты в этой продукции (проверено в хроме и светлячок):
5 > 2
5 < 2
Как это возможно? Почему этот else
не рассматривается как синтаксическая ошибка?
это выглядит правильно. второй блок '{ console.log (" 5 <2 "); } 'не считается частью else на всех ... и' (5 <2) ', в то время как бессмысленный действителен - это похоже на' else {(5 <2)} ' –