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

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

Linda Hamilton
Lepaskan: 2024-12-19 20:48:15
asal
579 orang telah melayarinya

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

Memahami Perbezaan antara (untuk... dalam) dan (untuk... bagi) Pernyataan

Pengenalan

Javascript menawarkan dua pernyataan gelung, (untuk... dalam) dan (untuk... daripada), yang mempunyai tujuan yang berbeza dalam mengulang objek dan struktur data.

untuk... daripada: Merelakan Lebih Nilai Harta

Pernyataan (untuk... daripada) yang diperkenalkan dalam ES6, menyediakan kemudahan cara untuk mengulang nilai-nilai sifat objek. Tidak seperti (untuk... dalam), yang bergelung pada nama harta, (untuk... daripada) memfokuskan secara khusus pada nilai harta.

Perbezaan ini menjadi jelas dalam contoh yang disediakan:

var arr = [3, 5, 7];
arr.foo = "hello";

for (var i in arr) {
  console.log(i); // logs "0", "1", "2", "foo"
}

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

Semasa (untuk... masuk) merekodkan kedua-dua indeks berangka ("0", "1", "2") dan sifat tersuai "foo" (peulang ES6 biasanya mengecualikan kunci), (untuk... daripada) hanya mencatatkan nilai sifat berangka ("3", "5", "7"). Sebabnya ialah (untuk... daripada) menggunakan lelaran khusus objek yang memfokuskan pada nilai harta.

Ringkasnya, (untuk... daripada) menawarkan cara yang ringkas dan berpaksikan nilai untuk lelaran ke atas sifat dalam objek. Ia melangkau sifat bukan indeks, seperti sifat "foo" dalam contoh dan secara langsung memberikan nilai sifat sebagai lelaran gelung.

Atas ialah kandungan terperinci Apakah Perbezaan 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