配列とオブジェクトの末尾のカンマ: 標準か許容されるか?
配列とオブジェクトの末尾のカンマの存在は、配列とオブジェクトの末尾のカンマの存在についての議論を引き起こしました。 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 であり、要素が 2 つで長さが 5 つの配列を作成します。
ブラウザの互換性
末尾のカンマは JavaScript 仕様の一部ですが、ブラウザーのサポートは時間の経過とともに変化してきました。 IE8 などの古いブラウザでは末尾のカンマに関する問題が発生する可能性がありますが、Chrome や Firefox などの最新のブラウザではそれらを完全にサポートしています。
結論として、配列およびオブジェクトの末尾のカンマは、ES5 以降の両方で ECMAScript 仕様の一部です。バージョン。この機能は、コードの可読性と保守性の柔軟性を提供し、最新のブラウザで広くサポートされています。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3