Rahsia Pesanan Harta Objek JavaScript

Barbara Streisand
Lepaskan: 2024-10-14 13:31:03
asal
587 orang telah melayarinya

Seseorang bertanya kepada saya baru-baru ini, adakah sifat objek JavaScript semestinya tidak tertib dan tidak dapat diramalkan?

Pembangun dengan pendedahan awal kepada JavaScript mungkin menjawab bahawa Object.keys() atau untuk...dalam mengembalikan susunan sifat objek yang tidak dapat diramalkan. Tetapi adakah itu masih berlaku?

Seperti yang anda jangkakan, kini terdapat peraturan untuk dipatuhi.

Bermula dengan ECMAScript 2020, Object.keys, for...in, Object.getOwnPropertyNames dan Reflect.ownKeys semuanya mengikut susunan spesifikasi yang sama. Mereka ialah:

1. Sifat sendiri ialah indeks tatasusunan, dalam susunan indeks angka menaik

The Secrets of JavaScript Object Property Order

Indeks tatasusunan ialah kunci sifat bernilai String yang merupakan String angka kanonik. Dan String angka kanonik ialah perwakilan String bagi nombor yang akan dihasilkan oleh ToString, atau rentetan "-0". Jadi sebagai contoh, "012" ialah bukan Rentetan angka kanonik, tetapi "12" ialah.

2. Lain-lain sifat String sendiri, dalam susunan kronologi menaik penciptaan harta

The Secrets of JavaScript Object Property Order

Kod di atas menambah titik pengetahuan gelung acara. Oleh kerana setTimeout ialah tugas makro tak segerak, sifat c belum ditambahkan pada obj apabila console.log dikeluarkan.

3. Sifat Simbol Sendiri, dalam susunan kronologi menaik penciptaan harta

The Secrets of JavaScript Object Property Order

Harta Symbol adalah sama dengan sifat String, dalam susunan kronologi menaik penciptaan harta. Tetapi kaedah Object.keys, for...in, Object.getOwnPropertyNames tidak boleh mendapatkan sifat Simbol objek, Reflect.ownKeys dan Object.getOwnPropertySymbols boleh.

Kesimpulan

Apabila kekunci sifat objek ialah gabungan jenis di atas, kekunci integer bukan negatif objek (boleh dikira dan tidak boleh dikira) mula-mula ditambahkan pada tatasusunan dalam tertib menaik, kemudian kekunci Rentetan ditambah dalam tertib sisipan. Akhir sekali, kekunci Simbol ditambah dalam susunan sisipan.

The Secrets of JavaScript Object Property Order

Tetapi jika anda sangat bergantung pada susunan sisipan, maka Map menjaminnya untuk anda.

Jika anda mendapati ini membantu, sila pertimbangkan melanggan surat berita saya untuk lebih banyak artikel dan alatan berguna tentang pembangunan web. Terima kasih kerana membaca!

Atas ialah kandungan terperinci Rahsia Pesanan Harta Objek JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!