Answer
t.me/js_testОтвет:
Ошибка
Объяснение:
Надеюсь, что самые внимательные заметили тот самый, недостающий фрагмент кода, из-за которого получилась ошибка.
Ошибка появляется, потому что точка с запятой пропущена после user = {...}
.
На этом примере мы можем увидеть, что такое объединённое выражение синтаксически является вызовом объекта { go: ... }
как функции с аргументом (user.go)
. И это происходит в той же строчке с объявлением переменной let user
, т.е. объект user
ещё даже не определён, поэтому получается ошибка.
Код для проверки:
let user = { name: "Джон", go: function() { alert(this.name) } } (user.go)()