Maison > interface Web > js tutoriel > le corps du texte

Quand l'objet Arguments est-il disponible dans les fonctions fléchées ES6 ?

Susan Sarandon
Libérer: 2024-10-18 15:58:02
original
605 Les gens l'ont consulté

When is the Arguments Object Available in ES6 Arrow Functions?

Objet Arguments dans les fonctions fléchées ES6 : documentation officielle

Les fonctions fléchées ont rapidement attiré l'attention des développeurs grâce à leur syntaxe concise. Cependant, un aspect qui a soulevé des questions est la disponibilité de l'objet arguments en leur sein.

Selon la documentation officielle du TC39, l'organisme directeur de la normalisation JavaScript, les fonctions fléchées ne créent pas leurs propres arguments. objet. Contrairement aux fonctions normales, les fonctions fléchées héritent de l'objet arguments de leur portée parent.

Ce comportement est évident dans l'exemple suivant où une fonction fléchée est invoquée avec trois arguments :

<code class="js">(() => console.log(arguments))(1, 2, 3);</code>
Copier après la connexion

Dans les environnements comme Chrome, Firefox et Node.js, ce code enregistrera "1,2,3". Cependant, Babel et d'autres bundlers génèrent une erreur indiquant que les arguments ne sont pas définis.

Cette divergence se produit parce que certains environnements autorisent les fonctions fléchées à accéder à l'objet arguments de leur portée parent, tandis que d'autres implémentent l'interprétation stricte de l'ES6. spécification, qui interdit aux fonctions fléchées d'avoir leur propre objet arguments.

En résumé, la documentation officielle du TC39 (spécification ES6) indique clairement que les fonctions fléchées ne possèdent pas leur propre objet arguments. Le comportement observé dans certains environnements où les fonctions fléchées peuvent accéder aux arguments de la portée parent n'est pas standard et peut entraîner des résultats inattendus.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal