Porque quando utilizo arrow function o resultado é diferente?
class Pessoa {
constructor(nome) {
this.nome = nome;
}
}
function exibeNome() {
alert(this.nome);
}
let pessoa = new Pessoa('Salsifufu');
exibeNome('Lampreia');
exibeNome = exibeNome.bind(pessoa);
exibeNome();
Sabemos que o retorno do alert será undefined na primeira e salsifufu na segunda, no entanto ao alterar a function para uma arrow function conforme abaixo, os dois resultados do alert serão undefined, estou faznendo a alteração de forma errada?
class Pessoa {
constructor(nome){
this.nome=nome
}
}
let exibeNome = () => {
alert(this.nome);
}
var pessoa = new Pessoa ('Salsifufu');
exibeNome('Lampreia');
exibeNome = exibeNome.bind(pessoa)
exibeNome();