配列とオブジェクトの末尾のカンマ: 標準か許容されるか?
配列とオブジェクトの末尾のカンマの存在は、配列とオブジェクトの末尾のカンマの存在についての議論を引き起こしました。 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 ]
「省略」は、関連する要素のないカンマを指します。これは、配列に空の要素を含めることができることを意味します。したがって、[1,2,,,,] のような配列は有効な JavaScript であり、要素が 2 つで長さが 5 の配列を作成します。
ブラウザの互換性
末尾のカンマは JavaScript 仕様の一部ですが、ブラウザーのサポートは時間の経過とともに変化してきました。 IE8 などの古いブラウザでは末尾のカンマに関する問題が発生する可能性がありますが、Chrome や Firefox などの最新のブラウザではそれらを完全にサポートしています。
結論として、配列およびオブジェクトの末尾のカンマは、ES5 以降の両方で ECMAScript 仕様の一部です。バージョン。この機能はコードの可読性と保守性の柔軟性を提供し、最新のブラウザーで広くサポートされています。
以上がJavaScript の配列およびオブジェクトの末尾のカンマは正式に許可されていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。