"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Funções de seta vs. declarações de método no ES6: Por que isso não funciona como esperado nas funções de seta?

Funções de seta vs. declarações de método no ES6: Por que isso não funciona como esperado nas funções de seta?

Postado em 2025-03-23
Navegar:596

Arrow Functions vs. Method Declarations in ES6: Why Doesn't `this` Work as Expected in Arrow Functions?

Funções de seta vs. declarações do método em es6

Ao se aprofundar no ES6, você pode encontrar a questão a seguir:

var person = {
  name: "jason",

  shout: () => console.log("my name is ", this.name)
};

person.shout(); // Prints "my name is "

A intenção é fazer com que a função acesse a propriedade de nome no objeto Pessoa. No entanto, o console imprime apenas "Meu nome é". Funções de seta, diferentemente das declarações de funções tradicionais, não ligam a palavra -chave. Em vez disso, eles herdam essa ligação do escopo circundante, que, neste caso, é o escopo global. Nome: "Jason", gritar() { console.log ("Meu nome é", this.name); } }; pessoa.shout (); // imprime "Meu nome é Jason"

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3