Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

quando usar this

Boa tarde! Voces poderiam explica melhor pq usar o this no codigo abaixo? Ficou um pouco confuso no video. Qual seria a diferença de usar this.remove() e paciente.remove()?

pacientes.forEach(function(paciente) {
    paciente.addEventListener("dblclick", function() {
        this.remove();
    });
});

ou

pacientes.forEach(function(paciente) {
    paciente.addEventListener("dblclick", function() {
        paciente.remove();
    });
});

Fico no aguardo! Muito obrigado!

4 respostas

Boa tarde Victor, firmeza?

Vamos lá!!

Ok

Imagine que você é uma instância de uma classe. No caso você é o "fulano" da classe Ser Humano.

Logo terá um atributo, digamos, idade. Imagine que você tem um método que informa as pessoas a sua volta a sua idade. A palavra reservada this permite que o método acesse os atributos (e método também) da própria instância.

int getIdade(){ return this.idade; /* esta é a SUA idade */}

Talvez você ache isso desnecessário, mas em primeiro lugar nem sempre você trabalha com instâncias: você pode ter métodos estáticos. Um método estático não pode pegar nada da "instância" pois não é desse contexto.

Na realidade o uso do This é para referencia o objeto que está sendo executando no momento!

Espero ter ajudado! Bons Estudos!!

Obrigado pela resposta rápida Carlos. Só pra ver se entendi então. É como se eu tivesse o seguinte objeto:

let paciente = {
    propriedade: "propriedade",
    getProp:  function() {
        //return paciente.propriedade; Nao funciona pq paciente esta fora do contexto da function.
        return this.propriedade; //Maneira correta
    }
}

Seria isso?

solução!

Isso mesmo!!!

Muito obrigado Carlos!