"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 > Quando as funções de seta ou o escopo pai definem os argumentos de uma função?

Quando as funções de seta ou o escopo pai definem os argumentos de uma função?

Publicado em 2024-11-07
Navegar:553

When Do Arrow Functions or the Parent Scope Define the Arguments of a Function?

Argumentos nas funções de seta do ES6: esclarecimento oficial

Nas funções de seta do ES6, o comportamento da palavra-chave de argumentos tem sido um tópico de debate. Alguns navegadores e plataformas (como Chrome, Firefox e Node) se desviam das recomendações iniciais do TC39, levantando questões sobre a interpretação correta da especificação.

De acordo com a especificação oficial do ES6, as funções de seta não têm seus próprios argumentos vinculativos dentro do seu âmbito. Quando invocadas, as funções de seta não criam um objeto de argumentos como parte do processo de instanciação da declaração.

Isso contradiz o comportamento observado em navegadores como Chrome, Firefox e Node, que criam um objeto de argumentos em funções de seta. Como resultado, esses navegadores fornecem acesso incorretamente aos argumentos passados ​​para a função envolvente.

Babel, por outro lado, segue a especificação oficial lançando um "ReferenceError" quando os argumentos são acessados ​​dentro de uma função de seta. Isso se alinha com o comportamento pretendido das funções de seta como funções que adotam seu escopo pai para acesso a argumentos.

Portanto, o entendimento correto é que as funções de seta não possuem uma ligação de argumentos dedicada. Os desenvolvedores devem usar o objeto de argumentos fornecido pela função anexa para acessar os argumentos passados ​​ao trabalhar com funções de seta.

Declaração de lançamento Este artigo foi reimpresso em: 1729238355 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
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