Oi Lucas! Tudo bem?
A razão pela qual estamos fazendo essas "voltas" com o código é para entender como o this
funciona e como podemos manipular o contexto de uma função.
Quando você simplesmente chama user.exibirInfos()
, o JavaScript sabe que o this
dentro da função exibirInfos
deve referir-se ao objeto user
. No entanto, quando você atribui a função a uma variável, como em const exibir = user.exibirInfos
, essa referência ao objeto user
é perdida. Isso acontece porque o this
depende de como a função é chamada, não de onde ela foi definida.
O método bind
é usado para "amarrar" a função a um contexto específico, no caso, ao objeto user
. Isso é útil em situações onde você quer garantir que a função sempre tenha acesso ao contexto correto, independentemente de como ela é chamada.
Por exemplo, imagine que você tem um botão em uma página web que, ao ser clicado, deve exibir informações do usuário. Se você simplesmente passar a função exibirInfos
para um manipulador de eventos, ela pode perder o contexto do user
. Usando bind
, você garante que a função sempre será chamada com o contexto correto:
button.addEventListener('click', user.exibirInfos.bind(user));
Espero que isso ajude a esclarecer a importância de entender e manipular o contexto com this
e bind
. E sim, ao longo do curso, você verá mais exemplos e exercícios que ajudarão a solidificar esse conceito.
No mais, bons estudos!