Rumah > Artikel > hujung hadapan web > Tafsiran prinsip pelaksanaan objek boleh lelar terbina dalam JS daripada perspektif kod sumber
Tafsiran prinsip pelaksanaan objek boleh lela terbina dalam JS daripada perspektif kod sumber
Dalam JavaScript, banyak objek terbina dalam boleh diubah, yang bermaksud kita boleh menggunakan struktur gelung untuk merentasi elemennya. Sebagai contoh, tatasusunan, rentetan dan Peta adalah semua objek boleh lelaran. Artikel ini akan menerangkan prinsip pelaksanaan objek boleh lelar terbina dalam JavaScript daripada perspektif kod sumber dan memberikan contoh kod khusus.
Prinsip pelaksanaan objek boleh lela terbina dalam JavaScript terutamanya melibatkan dua aspek: lelaran dan protokol boleh lelar.
Mari kita ambil tatasusunan sebagai contoh untuk melihat cara iterator dilaksanakan:
const arr = [1, 2, 3]; const iterator = arr[Symbol.iterator](); console.log(iterator.next()); // {value: 1, done: false} console.log(iterator.next()); // {value: 2, done: false} console.log(iterator.next()); // {value: 3, done: false} console.log(iterator.next()); // {value: undefined, done: true}
Dalam contoh di atas, kita memperoleh objek lelaran dengan memanggil kaedah Symbol.iterator bagi objek tatasusunan. Kemudian, dengan memanggil kaedah next() secara berterusan, kita boleh mengulangi elemen dalam tatasusunan. Traversal berakhir apabila atribut yang dilakukan adalah benar.
Berikut ialah contoh objek boleh lelar tersuai:
const myIterableObject = { [Symbol.iterator]() { let count = 1; return { next() { if (count <= 3) { return { value: count++, done: false }; } else { return { value: undefined, done: true }; } } }; } }; for (const item of myIterableObject) { console.log(item); } // 输出:1, 2, 3
Dalam contoh di atas, objek myIterableObject melaksanakan kaedah Symbol.iterator dan mengembalikan objek lelaran. Kaedah next() dilaksanakan dalam objek iterator, dan setiap panggilan mengembalikan nilai semasa dan status traversal. Apabila melintasi objek myIterableObject melalui gelung for...of, objek iterator yang sepadan akan dipanggil secara automatik untuk traversal.
Malah, protokol iterator dan boleh lelar ialah corak reka bentuk dalam JavaScript dan digunakan secara meluas dalam banyak senario. Sebagai contoh, Penjana juga berdasarkan pelaksanaan iterator dan protokol boleh lelar.
Ringkasnya, prinsip pelaksanaan objek boleh lelar terbina dalam JavaScript dilaksanakan melalui lelaran dan protokol boleh lelar. Objek lelaran menyediakan kaedah seterusnya() untuk melintasi unsur-unsur dalam objek lelaran, dan protokol lelaran menetapkan bahawa objek lelaran mesti mempunyai kaedah Symbol.iterator dan mengembalikan objek lelaran. Dengan fleksibel menggunakan iterator dan protokol lelaran, kami boleh menyesuaikan objek lelaran dan mencapai lebih banyak fungsi lelaran.
Saya harap artikel ini dapat membantu anda memperoleh pemahaman yang lebih mendalam tentang prinsip pelaksanaan objek boleh lelar terbina dalam JavaScript.
Atas ialah kandungan terperinci Tafsiran prinsip pelaksanaan objek boleh lelar terbina dalam JS daripada perspektif kod sumber. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!