Iterators
در جاوااسکریپت، Iterator یک شیء (object) هست که روشی به نام next()
داره. این متد هر بار که صدا زده میشه، مقدار بعدی در مجموعه رو برمیگردونه.
Iteratorها پشتصحنه برای اجرای for...of
استفاده میشن.
🔹 ساختار Iterator
یک Iterator object همیشه شامل متد next()
هست.
این متد یک شیء برمیگردونه با دو property:
-
value
→ مقداری که در iteration برگردونده میشه. -
done
→ اگر iteration تموم شده باشهtrue
میشه.
🔹 مثال ساده Iterator
📌 خروجی:
🔹 استفاده از Iterator روی Array
📌 خروجی:
🔹 فرق Iterable و Iterator
-
Iterable → دادهای که متد
Symbol.iterator
داره (مثل Array, String, Set). -
Iterator → شیئی که متد
next()
داره و مقدارها رو یکییکی برمیگردونه.
✅ خلاصه
-
Iterator یک شیء با متد
next()
هست. -
متد
next()
دو چیز برمیگردونه:value
وdone
. -
Iterableها (مثل Array و String) پشتصحنه یک Iterator تولید میکنن.
-
بدون Iterator، پیمایش دادهها با
for...of
امکانپذیر نیست.