Em outro relato de dúvida similar eu vi que foi feito exatamente o que fiz, usando função anonima em formato ES6, e simplesmente o this não funciona:
let todosPacientes = document.querySelectorAll(".paciente");
todosPacientes.forEach((paciente) => {
paciente.addEventListener("dblclick", () => {
this.remove();
});
});
Diferente de quando uso o event do addEventListener, junto com o currentTarget. Sem alterar a sintaxe, funciona perfeitamente:
todosPacientes.forEach((paciente) => {
paciente.addEventListener("dblclick", (event) => {
event.currentTarget.remove();
});
});
Mas após diversos testes voltei a sintaxe tradicional do JS e o this incrivelmente funciona:
todosPacientes.forEach(function(paciente) {
paciente.addEventListener("dblclick", function() {
this.remove();
});
});
Gostaria de entender o motivo dessa aparente inconsistência. Qual erro estou cometendo?