Rumah > hujung hadapan web > tutorial js > Apakah Perbezaan Utama Antara Gelung `for...in` dan `for...of` JavaScript?

Apakah Perbezaan Utama Antara Gelung `for...in` dan `for...of` JavaScript?

Susan Sarandon
Lepaskan: 2024-12-14 09:53:11
asal
863 orang telah melayarinya

What's the Key Difference Between JavaScript's `for...in` and `for...of` Loops?

Memahami Perbezaan Antara untuk...dalam dan untuk...Penyata

Dalam alam gelung JavaScript, untuk.. .dalam dan untuk...kenyataan sering menimbulkan kekeliruan. Walaupun for...in telah menjadi asas untuk mengulang sifat, for...of muncul dalam ES6 untuk menyasarkan nilai secara khusus. Artikel ini menyelidiki perbezaan utama antara kedua-dua binaan ini.

untuk...dalam: Merentasi Nama Harta

Untuk...dalam gelung berulang ke atas harta terbilang nama objek. Seperti yang ditunjukkan dalam contoh, ia berjaya mencatatkan "0", "1", "2", dan "foo", yang mewakili kunci indeks tatasusunan dan kunci "foo" objek tatasusunan.

untuk...daripada: Mengekstrak Nilai Harta

Sebaliknya, untuk...daripada menggunakan objek khusus iterator untuk melintasi nilai yang dijana oleh iterator tersebut. Dalam contoh, iterator tatasusunan hanya menghasilkan nilai dalam tatasusunan, iaitu "3", "5", dan "7". Tingkah laku ini berpunca daripada fakta bahawa iterator direka bentuk untuk memberi tumpuan semata-mata pada nilai.

Bukan Lelaran Sifat Bukan Indeks

Terutamanya, untuk... tidak berulang ke atas sifat bukan indeks. Dalam contoh, sifat "foo", yang mengandungi nilai "hello", tidak dilog. Ini kerana lelaran tatasusunan hanya menghasilkan nilai yang dikaitkan dengan indeks tatasusunan.

Contoh: Lelaran Berfokuskan Nilai

Untuk menggambarkan, gelung berikut hendaklah mencatatkan nilai tatasusunan serta nilai sifat "foo", tetapi ia hanya mencatat tatasusunan nilai:

for (var i of arr) {
  console.log(i); // logs "3", "5", "7"
}
Salin selepas log masuk

Tingkah laku ini mengukuhkan pemahaman bahawa untuk...daripada dibina bertujuan untuk mengulang nilai, tidak termasuk sifat bukan indeks.

Atas ialah kandungan terperinci Apakah Perbezaan Utama Antara Gelung `for...in` dan `for...of` JavaScript?. 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