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.
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