«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Разрешены ли конечные запятые в массивах и объектах JavaScript?

Разрешены ли конечные запятые в массивах и объектах JavaScript?

Опубликовано 6 ноября 2024 г.
Просматривать:381

Are Trailing Commas in JavaScript Arrays and Objects Officially Allowed?

Конечные запятые в массивах и объектах: стандартные или допустимые?

Присутствие конечных запятых в массивах и объектах вызвало некоторые споры относительно их стандартизация в 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