ران تایم جاوا اسکریپت

ران تایم یک اپلیکیشن هست که به برنامه ما اجازه میده تا روی سیستم اجرا بشه. این اپلیکیشن به عنوان یک پل بین برنامه و سیستمی که روش در حال اجرا هست وجود داره و دسترسی به منابع سیستم مثل محل ذخیره سازی، حافظه و همچنین متغیر های محیطی رو ارائه میده. یکی از ران تایم های اصلی جاوا اسکریپت مرورگر هست.
ران تایم های مختلفی برای جاوا اسکریپت نوشته شدن و هر کدوم یه جور پیاده سازی شدن. هر ران تایم روش خودش رو برای اجرای برنامه ها داره و از روش بهینه سازی مخصوص خودش استفاده میکنه.
اما در کل از لحاظ تئوری یک ران تایم جاوا اسکریپت به چند بخش و پروسه مختلف تقسیم میشه:

  • موتور اجرای جاوا اسکریپت (JavaScript Engine)
  • رابط های مرورگر / محیط های اجرایی دیگه (Browser / Environment APIs)
  • صف پیام (Message Queue / Callback Queue)
  • حلقه رویداد (Event Loop)

این قسمت ها رو میشه به شکل زیر نمایش داد:

js_runtime_components

توی قسمت های بعدی به هر کدوم از اینها یه نگاهی میندازیم تا درک بهتری از عملکرد اونها داشته باشیم.