Maison > interface Web > js tutoriel > Les virgules finales dans les tableaux et objets JavaScript sont-elles officiellement prises en charge par la spécification ?

Les virgules finales dans les tableaux et objets JavaScript sont-elles officiellement prises en charge par la spécification ?

DDD
Libérer: 2024-10-28 20:18:30
original
717 Les gens l'ont consulté

Are Trailing Commas in JavaScript Arrays and Objects Officially Supported by the Specification?

Commes de fin dans les tableaux et objets JavaScript : une plongée dans les spécifications

L'utilisation par JavaScript de virgules de fin dans les tableaux et les objets a soulevé des questions sur sa spécification conformité. Cet article approfondit les spécifications pour clarifier la question.

Spécification ES5 pour les tableaux

Selon la section 11.1.4 de la spécification ECMAScript 5 (ES5), les littéraux de tableau peut inclure une virgule de fin en plus des délimiteurs d'éléments réguliers :

<code class="javascript">[ Elisionopt ]
[ ElementList ]
[ ElementList , Elision_opt ]</code>
Copier après la connexion

où Elision_opt représente une série facultative de virgules de fin.

Cela signifie qu'un littéral de tableau tel que [1, 2, , ,,] est parfaitement valide dans ES5, créant un tableau avec deux éléments mais définissant la longueur du tableau à 5.

Spécification ES5 pour les objets

De même, section 11.1. 5 de la spécification ES5 définit les littéraux d'objet comme suit :

<code class="javascript">ObjectLiteral :
    { }
    { PropertyNameAndValueList }
    { PropertyNameAndValueList , }</code>
Copier après la connexion

L'inclusion de { PropertyNameAndValueList , } autorise également explicitement les virgules de fin dans les littéraux d'objet.

Évolution historique dans ES3

Fait intéressant, les virgules de fin ne faisaient pas partie de la spécification ECMAScript 3 (ES3) pour les littéraux d'objet. Cependant, ils étaient déjà autorisés pour les littéraux de tableau dans ES3, comme défini dans la section 11.1.4.

Compatibilité des navigateurs

Alors que la spécification ES5 dicte que les virgules de fin sont standard , tous les navigateurs ne les prenaient pas en charge sans bizarreries dans les versions antérieures. Par exemple, Internet Explorer 8 (IE8) ne prenait pas en charge les virgules de fin jusqu'à IE9.

Conclusion

Il ressort clairement de la spécification ECMAScript 5 que les virgules de fin dans les tableaux JavaScript et les objets font bel et bien partie du standard. Cette flexibilité de syntaxe permet un code plus propre et plus concis lors de la définition de structures de données complexes.

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