Vilignes de fin dans les tableaux et les objets : standard ou tolérées ?
La présence de virgules de fin dans les tableaux et les objets a suscité un débat concernant leur normalisation en JavaScript. Cette question découle du comportement incohérent observé dans les différents navigateurs, en particulier les anciennes versions d'Internet Explorer.
État de la spécification
Selon la spécification ECMAScript 5 (Section 11.1.5 ), les virgules de fin sont explicitement autorisées dans les littéraux d'objet :
ObjectLiteral : { } { PropertyNameAndValueList } { PropertyNameAndValueList , }
Par conséquent, les virgules de fin dans les littéraux d'objet font partie de la spécification JavaScript officielle.
ES3 contre ES5
Fait intéressant, les virgules de fin les virgules dans les littéraux d'objet ne faisaient pas partie de la spécification ECMAScript 3. Cependant, ils ont été introduits dans ECMAScript 5 en tant que fonctionnalité facultative.
Tableaux et virgules de fin
La spécification ECMAScript 5 (Section 11.1.4) autorise également les virgules de fin dans littéraux de tableau :
ArrayLiteral : [ Elisionopt ] [ ElementList ] [ ElementList , Elision_opt ]
"Elision" fait référence à une virgule sans élément associé, ce qui signifie que les tableaux peuvent contenir des éléments vides. Par conséquent, un tableau comme [1,2,,,,] est un JavaScript valide, créant un tableau avec deux éléments mais d'une longueur de cinq.
Compatibilité des navigateurs
Bien que les virgules finales fassent partie de la spécification JavaScript, la prise en charge des navigateurs a varié au fil du temps. Les navigateurs plus anciens comme IE8 peuvent avoir rencontré des problèmes avec les virgules de fin, mais les navigateurs modernes comme Chrome et Firefox les prennent entièrement en charge.
En conclusion, les virgules de fin dans les tableaux et les objets font partie de la spécification ECMAScript, à la fois dans ES5 et versions ultérieures. versions. Cette fonctionnalité offre une flexibilité en matière de lisibilité et de maintenabilité du code et est largement prise en charge par les navigateurs modernes.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3