Maison >interface Web >js tutoriel >Les virgules finales dans les tableaux et objets JavaScript sont-elles officiellement autorisées ?
Commes de fin dans les tableaux et les objets : standard ou tolérés ?
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, notamment 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 vs ES5
Fait intéressant, les virgules de fin 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 ont peut-être 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é dans la lisibilité et la maintenabilité du code et est largement prise en charge par les navigateurs modernes.
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!