this no objeto
Quando você cria um objeto com dados próprios, como um perfil de usuário, precisa de métodos que acessem esses dados. É aí que entra o this: ele permite que um método saiba qual objeto o chamou, funcionando como um 'auto-referência'. Sem this, você teria que passar o objeto como parâmetro toda vez, o que é bem menos prático.
O PROBLEMA
Crie objeto pessoa com nome, sobrenome e método nomeCompleto() que usa this.
EXEMPLO
const pessoa = {nome:"Ana", sobrenome:"Silva", nomeCompleto() { return `${this.nome} ${this.sobrenome}` }};
pessoa.nomeCompleto() → "Ana Silva"SOBRE O CONCEITO
No código, this dentro de um método tradicional (como nomeCompleto() { ... }) aponta para o objeto que invocou o método. No exemplo, this.nome acessa a propriedade nome do objeto pessoa. O erro comum é usar arrow function no método, ex.: nomeCompleto: () => .... Arrow functions não têm seu próprio this; elas herdam o this do escopo onde foram definidas (geralmente o escopo global ou de uma função pai). Assim, this.nome ficaria undefined ou apontaria para window (no navegador), gerando um resultado incorreto. Por isso, é proibido usar arrow function aqui; prefira a sintaxe de método abreviada ou function.
RESOLUÇÃO