Вызов метода объекта до его присвоения переменной

Всем привет, помогите разобраться почему такой код выдаст ошибку:

let user = {
  go: function () {
    console.log(this)
  }
}

(user).go()

А такой нет:

let user = {
  go: function () {
    console.log(this)
  }
}

user.go()

Как эти скобки влияют? Но если использовать скобки и поставить точку с запятой все будет работать:

let user = {
  go: function () {
    console.log(this)
  }
};

(user).go()

Недавно начал учить js после python и меня это немного путает. Заранее благодарю


Ответы (0 шт):