Mengekor Koma dalam Tatasusunan dan Objek: Standard atau Ditoleransi?
Kehadiran koma mengekor dalam tatasusunan dan objek telah mencetuskan beberapa perdebatan mengenainya penyeragaman dalam JavaScript. Soalan ini berpunca daripada tingkah laku tidak konsisten yang diperhatikan dalam penyemak imbas yang berbeza, terutamanya versi Internet Explorer yang lebih lama.
Status Spesifikasi
Mengikut spesifikasi ECMAScript 5 (Seksyen 11.1.5 ), koma mengekor dibenarkan secara eksplisit dalam literal objek:
ObjectLiteral : { } { PropertyNameAndValueList } { PropertyNameAndValueList , }
Oleh itu, mengekori koma dalam literal objek adalah sebahagian daripada spesifikasi JavaScript rasmi.
ES3 lwn. ES5
Menariknya, mengekori koma dalam literal objek bukanlah sebahagian daripada spesifikasi ECMAScript 3. Walau bagaimanapun, ia telah diperkenalkan dalam ECMAScript 5 sebagai ciri pilihan.
Arrays and Trailing Comma
Spesifikasi ECMAScript 5 (Bahagian 11.1.4) juga membenarkan koma mengekor dalam literal tatasusunan:
ArrayLiteral : [ Elisionopt ] [ ElementList ] [ ElementList , Elision_opt ]
"Elision" merujuk kepada koma tanpa unsur yang berkaitan, yang bermaksud tatasusunan boleh mengandungi unsur kosong. Oleh itu, tatasusunan seperti [1,2,,,,] ialah JavaScript yang sah, mencipta tatasusunan dengan dua elemen tetapi panjang lima.
Keserasian Pelayar
Walaupun mengekori koma adalah sebahagian daripada spesifikasi JavaScript, sokongan penyemak imbas berubah mengikut masa. Penyemak imbas lama seperti IE8 mungkin menghadapi masalah dengan koma mengekor, tetapi penyemak imbas moden seperti Chrome dan Firefox menyokongnya sepenuhnya.
Kesimpulannya, mengekori koma dalam tatasusunan dan objek adalah sebahagian daripada spesifikasi ECMAScript, kedua-duanya dalam ES5 dan kemudiannya versi. Ciri ini memberikan fleksibiliti dalam kebolehbacaan dan kebolehselenggaraan kod serta disokong secara meluas oleh penyemak imbas moden.
Atas ialah kandungan terperinci Adakah Trailing Koma dalam Tatasusunan JavaScript dan Objek Dibenarkan Secara Rasmi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!