جاوا اسکریپت در حال حاضر یکی از محبوب ترین زبان های برنامه نویسی با توجه به بسیاری از پلتفرم ها است. با این حال، آیا محبوبیت مساوی است با پیشرفته ترین یا محبوب ترین زبان؟ فاقد ساختارهای خاصی است که جزء لاینفک زبان های دیگر محسوب می شوند، مانند کتابخانه استاندارد گسترده، تغییرناپذیری و ماکروها. اما یک جزئیات وجود دارد که به نظر من به اندازه کافی مورد توجه قرار نمی گیرد – ژنراتورها.
در این مقاله، من میخواهم موارد استفاده احتمالی برای تکرارکنندهها و مولدها و چگونگی بهبود صریح کدهای شخصی را توضیح دهم. امیدوارم پس از خواندن این مقاله، کد زیر کاملاً منطقی باشد:
while (true) {
const data = yield getNextChunk();
const processed = processData(data);
try {
yield sendProcessedData(processed);
showOkResult();
} catch (err) {
showError();
}
}
این اولین قسمت از یک سری است: Iterators and Generators.
تکرار کننده ها
بنابراین، تکرار کننده یک رابط است که دسترسی متوالی به داده ها را فراهم می کند.
همانطور که می بینید، در تعریف چیزی در مورد ساختار داده یا حافظه ذکر نشده است. در واقع، دنباله ای از مقادیر تهی را می توان بدون اشغال فضای حافظه به عنوان یک تکرار کننده نشان داد.
چند مثال بزنیم:
آرایه احتمالاً اولین چیزی است که وقتی فکر می کنید …