JavaScriptTingkat: Lanjutan7 min
Protokol Iterasi, Symbol.iterator & Fungsi Generator (function*)
Pelajari cara kerja loop for...of dari dalam: implementasi protokol Iterable menggunakan Symbol.iterator kustom dan pembuatan generator cerdas berbasis kata kunci yield.
Protokol Iterable & Iterator
Pratinjau TerbukaObjek apa pun di JavaScript dapat diiterasi dengan for...of jika mengimplementasikan metode [Symbol.iterator] yang mengembalikan objek dengan fungsi next() bertipe { value, done }.
Contoh Kode Sintaks
// 1. Generator function menghasilkan iterator otomatis
function* penghasilIdUnik(awalan) {
let id = 1;
while (true) {
yield `${awalan}-${id++}`;
}
}
const gen = penghasilIdUnik("ORDER");
console.log(gen.next().value); // ORDER-1
console.log(gen.next().value); // ORDER-2
// 2. Custom Iterable Object
const antreanKlien = {
anggota: ["Azzam", "Rizqy", "Budi"],
[Symbol.iterator]() {
let indeks = 0;
return {
next: () => {
if (indeks < this.anggota.length) {
return { value: this.anggota[indeks++], done: false };
}
return { done: true };
}
};
}
};
for (const orang of antreanKlien) {
console.log("Klien:", orang);
}Live Compiler Runner
Akses Kursus Wajib Login
Buka Akses Penuh Silabus & Praktikum
Masuk dengan akun GitHub, Google, atau Akses Cepat Developer untuk membuka seluruh materi mendalam, menjalankan compiler interaktif, mengerjakan kuis, dan menyimpan progres belajar Anda.
145+ Modul Lengkap•Tersimpan Otomatis•Sertifikat Kelulusan Resmi