"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cuándo las funciones de flecha o el alcance principal definen los argumentos de una función?

¿Cuándo las funciones de flecha o el alcance principal definen los argumentos de una función?

Publicado el 2024-11-07
Navegar:605

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

Argumentos en las funciones de flecha de ES6: Aclaración oficial

En las funciones de flecha de ES6, el comportamiento de la palabra clave argumentos ha sido un tema de debate. Algunos navegadores y plataformas (como Chrome, Firefox y Node) se desvían de las recomendaciones iniciales de TC39, lo que genera dudas sobre la interpretación correcta de la especificación.

Según la especificación oficial de ES6, las funciones de flecha no tienen su propios argumentos vinculantes dentro de su ámbito. Cuando se invocan, las funciones de flecha no crean un objeto de argumentos como parte del proceso de creación de instancias de declaración.

Esto contradice el comportamiento observado en navegadores como Chrome, Firefox y Node, que crean un objeto de argumentos en las funciones de flecha. Como resultado, estos navegadores brindan acceso incorrectamente a los argumentos pasados ​​a la función adjunta.

Babel, por otro lado, sigue la especificación oficial al generar un "Error de referencia" cuando se accede a los argumentos dentro de una función de flecha. Esto se alinea con el comportamiento previsto de las funciones de flecha como funciones que adoptan su alcance principal para el acceso a los argumentos.

Por lo tanto, la comprensión correcta es que las funciones de flecha no tienen un enlace de argumentos dedicado. Los desarrolladores deben usar el objeto de argumentos proporcionado por la función adjunta para acceder a los argumentos pasados ​​cuando trabajan con funciones de flecha.

Declaración de liberación Este artículo se reimprime en: 1729238355 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3