ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript 配列およびオブジェクトの末尾のカンマは仕様で正式にサポートされていますか?

JavaScript 配列およびオブジェクトの末尾のカンマは仕様で正式にサポートされていますか?

DDD
DDDオリジナル
2024-10-28 20:18:30717ブラウズ

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

JavaScript の配列とオブジェクトの末尾のカンマ: 仕様の詳細

JavaScript による配列とオブジェクトの末尾のカンマの使用により、その仕様に関する疑問が生じていますコンプライアンス。この記事では、この問題を明確にするために仕様を詳しく掘り下げます。

配列の ES5 仕様

ECMAScript 5 (ES5) 仕様のセクション 11.1.4 によると、配列リテラル通常の要素区切り文字に加えて末尾のカンマを含めることができます:

<code class="javascript">[ Elisionopt ]
[ ElementList ]
[ ElementList , Elision_opt ]</code>

ここで、Elision_opt はオプションの一連の末尾のカンマを表します。

これは、[1, 2, , のような配列リテラルを意味します。 ,,] は ES5 では完全に有効で、2 つの要素を持つ配列を作成しますが、配列の長さを 5 に設定します。

オブジェクトの ES5 仕様

同様に、セクション 11.1。 ES5 仕様の 5 では、オブジェクト リテラルを次のように定義しています。

<code class="javascript">ObjectLiteral :
    { }
    { PropertyNameAndValueList }
    { PropertyNameAndValueList , }</code>

{ PropertyNameAndValueList , } を含めると、オブジェクト リテラルの末尾のカンマも明示的に許可されます。

ES3 での進化

興味深いことに、末尾のカンマはオブジェクト リテラルの ECMAScript 3 (ES3) 仕様の一部ではありません。ただし、セクション 11.1.4 で定義されているように、これらは ES3 の配列リテラルですでに許可されています。

ブラウザの互換性

一方、ES5 仕様では末尾のカンマが標準であると規定されています。 、以前のバージョンでは、すべてのブラウザが問題なくこれらをサポートしていたわけではありません。たとえば、Internet Explorer 8 (IE8) は、IE9 まで末尾のカンマをサポートしていませんでした。

結論

ECMAScript 5 仕様から、JavaScript 配列の末尾のカンマは明らかです。そしてオブジェクトは確かに標準の一部です。この構文の柔軟性により、複雑なデータ構造を定義する際に、よりクリーンで簡潔なコードが可能になります。

以上がJavaScript 配列およびオブジェクトの末尾のカンマは仕様で正式にサポートされていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。