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

Quand les fonctions fléchées ou la portée parent définissent-elles les arguments d'une fonction ?

DDD
Libérer: 2024-10-18 16:00:05
original
356 Les gens l'ont consulté

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

Arguments dans les fonctions fléchées ES6 : Clarification officielle

Dans les fonctions fléchées ES6, le comportement du mot-clé arguments a été un sujet de débat. Certains navigateurs et plateformes (tels que Chrome, Firefox et Node) s'écartent des recommandations initiales du TC39, soulevant des questions sur l'interprétation correcte de la spécification.

Selon la spécification officielle ES6, les fonctions fléchées n'ont pas leur propres arguments contraignants dans leur portée. Lorsqu'elles sont invoquées, les fonctions fléchées ne créent pas d'objet arguments dans le cadre du processus d'instanciation de la déclaration.

Cela contredit le comportement observé dans les navigateurs tels que Chrome, Firefox et Node, qui créent un objet arguments dans les fonctions fléchées. En conséquence, ces navigateurs donnent accès de manière incorrecte aux arguments transmis à la fonction englobante.

Babel, en revanche, suit la spécification officielle en lançant une "ReferenceError" lors de l'accès aux arguments dans une fonction fléchée. Cela correspond au comportement prévu des fonctions fléchées en tant que fonctions qui adoptent leur portée parent pour l'accès aux arguments.

Par conséquent, il faut bien comprendre que les fonctions fléchées n'ont pas de liaison d'arguments dédiée. Les développeurs doivent utiliser l'objet arguments fourni par la fonction englobante pour accéder aux arguments transmis lorsqu'ils travaillent avec des fonctions fléchées.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!