Iterables

در جاوااسکریپت، Iterable به داده‌ای گفته میشه که می‌تونیم با استفاده از حلقه‌ی for...of یا ابزارهای مشابه، مقدارهاش رو یکی‌یکی پیمایش کنیم.

🔹 چه چیزهایی Iterable هستند؟

به طور پیش‌فرض در جاوااسکریپت:

  • String

  • Array

  • Map

  • Set

  • arguments (پارامترهای تابع)

همه‌ی این‌ها iterable محسوب میشن.

🔹 مثال روی Array

const numbers = [1, 2, 3]; for (let num of numbers) { console.log(num); }

📌 خروجی:

1 2 3

🔹 مثال روی String

const text = "Hello"; for (let char of text) { console.log(char); }

📌 خروجی:

H e l l o

🔹 مثال روی Set

const fruits = new Set(["apple", "banana", "orange"]); for (let fruit of fruits) { console.log(fruit); }

📌 خروجی:

apple banana orange

🔹 مثال روی Map

const person = new Map([ ["name", "Ali"], ["age", 25], ["city", "Tehran"] ]); for (let entry of person) { console.log(entry); }

📌 خروجی:

["name", "Ali"] ["age", 25] ["city", "Tehran"]

🔹 ویژگی کلیدی Iterables

هر iterable باید یک متد داخلی به اسم Symbol.iterator داشته باشه. این متد مشخص می‌کنه چطور داده‌ها یکی‌یکی برگردونده بشن.

✅ خلاصه

  • Iterable یعنی داده‌ای که میشه با for...of پیمایشش کرد.

  • Array، String، Set، Map و ... به صورت پیش‌فرض iterable هستن.

  • مفهوم Symbol.iterator پشت‌صحنه این قابلیت رو فراهم می‌کنه.