ошибка при объявление let = Uncaught SyntaxError: Unexpected number
Есть два варианта строки.
первая выдает: a = 1 + 2, 3 + 4 // 3
вторая с ошибкой: let a = 1 + 2, 3 + 4 // Uncaught SyntaxError: Unexpected number
Подскажите пожалуйста, почему при let такой результат и почему тогда работает необъявленная переменная?
Спасибо.
Ответы (1 шт):
Автор решения: vp_arth
→ Ссылка
Потому что существует синтаксис:
let a = 1, b = 2
А в первом случае, нет декларации, это оператор запятая, разделяющий 2 выражения:
(a = 1 + 2), (3 + 4)
3 + 4 можно просто удалить, оно не используется.
Хотя, как раз оно и является результатом всего выражения:
console.log((a = 1 + 2, 3 + 4)) // 7
console.log(a) // 3