Конечные запятые в массивах и объектах: стандартные или допустимые?
Присутствие конечных запятых в массивах и объектах вызвало некоторые споры относительно их стандартизация в JavaScript. Этот вопрос связан с непоследовательным поведением, наблюдаемым в разных браузерах, особенно в более старых версиях Internet Explorer.
Состояние спецификации
Согласно спецификации ECMAScript 5 (раздел 11.1.5) ), конечные запятые явно разрешены в литералах объектов:
ObjectLiteral : { } { PropertyNameAndValueList } { PropertyNameAndValueList , }
Поэтому завершающие запятые в объектных литералах являются частью официальной спецификации JavaScript.
ES3 против ES5
Интересно, что завершающие запятые запятые в объектных литералах не были частью спецификации ECMAScript 3. Однако они были представлены в ECMAScript 5 как дополнительная функция.
Массивы и завершающие запятые
Спецификация ECMAScript 5 (раздел 11.1.4) также позволяет литералы массива:
ArrayLiteral : [ Elisionopt ] [ ElementList ] [ ElementList , Elision_opt ]
«Elision» обозначает запятую без связанного элемента, что означает, что массивы могут содержать пустые элементы. Следовательно, массив типа [1,2,,,,,] является допустимым JavaScript, создавая массив из двух элементов, но длиной пять.
Совместимость браузера
Хотя конечные запятые являются частью спецификации JavaScript, поддержка браузеров со временем менялась. В старых браузерах, таких как IE8, возможно, возникали проблемы с конечными запятыми, но современные браузеры, такие как Chrome и Firefox, полностью их поддерживают.
В заключение, конечные запятые в массивах и объектах являются частью спецификации ECMAScript, как в ES5, так и в более поздних версиях. версии. Эта функция обеспечивает гибкость в читаемости и удобстве сопровождения кода и широко поддерживается современными браузерами.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3