Rumah > hujung hadapan web > tutorial js > Adakah ES6 Menjamin Pesanan Harta yang Konsisten Merentas Semua Operasi Penghitungan Objek?

Adakah ES6 Menjamin Pesanan Harta yang Konsisten Merentas Semua Operasi Penghitungan Objek?

Patricia Arquette
Lepaskan: 2024-12-19 03:37:10
asal
816 orang telah melayarinya

Does ES6 Guarantee Consistent Property Order Across All Object Enumeration Operations?

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:

  • Object.getOwnPropertyNames
  • Object.getOwnPropertySymbols
  • Object.defineProperties
  • Reflect.ownKeys
Untuk operasi ini, susunannya adalah seperti berikut:

    Indeks integer dalam tertib menaik
  1. Kunci rentetan lain dalam susunan penciptaan harta
  2. Kunci simbol dalam susunan penciptaan harta

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan