Pesanan Harta ES6: Adakah Ia Dijamin untuk Semua Operasi?
Masalah:
ES6 memperkenalkan susunan harta untuk objek. Tetapi adakah ciri baharu ini menjamin tertib yang jelas untuk semua operasi penghitungan harta objek, seperti gelung untuk masuk dan Object.keys?
Jawapan untuk ES2015-ES2019:
Tidak, bukan untuk semua operasi.
Untuk gelung untuk-dalam, Object.keys dan JSON.stringify, ES6 tidak memerlukan susunan penghitungan tertentu. Kebimbangan keserasian warisan telah mempengaruhi keputusan ini.
Untuk [[Enumerate]], yang digunakan oleh gelung for-in, tertib penghitungan tidak ditentukan. Object.keys juga mewarisi gelagat ini.
Nota: ES2020 kemudiannya menukar gelagat ini, yang memerlukan operasi warisan pun untuk mengikut susunan harta.
Operasi dan Harta Lain Pesanan:
Manakala yang tersebut di atas operasi tidak mempunyai perintah penghitungan yang ditentukan, operasi lain memang mematuhi perintah harta. Ini termasuk:
Pengecualian: Objek eksotik, seperti Proksi, boleh mengatasi [[OwnPropertyKeys]] kaedah dalaman dan kunci pulangan dalam susunan yang berbeza.
Atas ialah kandungan terperinci Adakah ES6 Menjamin Pesanan Harta yang Konsisten Merentas Semua Operasi Penghitungan Objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!