TGViewer
CodeTrail🚀 CodeTrail🚀 @codetrailweb · 60 subscribers
Post #42 133
💡 JavaScript Insight

پشت صحنه اجرای JavaScript چه اتفاقی می‌افته؟ 🤔

برای فهمیدن این موضوع، باید با چند مفهوم مهم آشنا بشیم:
🔹 Call Stack
🔹 Web APIs
🔹 Task Queue
🔹 Event Loop
━━━━━━━━━━━━━━
🔹 ۱. Call Stack

محلیه که کدهای معمولی JavaScript برای اجرا واردش می‌شن

مثلاً:

console.log("A");

setTimeout(() => {
  console.log("B");
}, 1000);

console.log("C");

ابتدا "A" اجرا می‌شه
بعد "setTimeout" اجرا می‌شه، اما JavaScript برای یک ثانیه منتظر نمی‌مونه
مرورگر مدیریت Timer رو بر عهده می‌گیره و JavaScript می‌ره سراغ دستور بعدی

در نتیجه "C" هم اجرا می‌شه
━━━━━━━━━━━━━━
🔹 ۲. Web APIs
بعضی قابلیت‌ها مستقیماً توسط موتور JavaScript انجام نمی‌شن و محیط مرورگر مدیریت‌شون می‌کنه.
مثلاً:
⏱️ "setTimeout" و "setInterval"
🌐 درخواست‌های شبکه مثل "fetch"
🖱️ رویدادهایی مثل کلیک و تایپ
📍 بعضی قابلیت‌های مرورگر مثل Geolocation
━━━━━━━━━━━━━━
🔹 ۳. Task Queue
وقتی کارهایی مثل Timer آماده اجرا می‌شن، Callback اون‌ها در صف منتظر می‌مونه
در مثال ما، بعد از یک ثانیه:
console.log("B");
آماده اجرا می‌شه و منتظر می‌مونه
━━━━━━━━━━━━━━
🔹 ۴. Event Loop
اینجا Event Loop وارد ماجرا می‌شه
Event Loop مرتب بررسی می‌کنه:
«آیا Call Stack خالیه؟»
اگر خالی باشه و کاری در صف منتظر اجرا باشه، اون کار رو وارد Call Stack می‌کنه
بعد JavaScript اون رو اجرا می‌کنه
پس در نهایت:
A
C
B

📌 خلاصه:

Call Stack → محل اجرای کدها

Web APIs → مدیریت بعضی قابلیت‌های مرورگر

Task Queue → صف کارهای آماده اجرا

Event Loop → هماهنگ‌کننده انتقال کارها به Call Stack

نکته مهم اینه که Event Loop خودش کد رو اجرا نمی‌کنه؛ فقط زمان مناسب ورود کارهای آماده به Call Stack رو هماهنگ می‌کنه


🔗https://t.me/codetrailWeb
#JavaScript #Frontend
  • ❤ 2
  • 👍 1
  • 🔥 1
More from @codetrailweb
  1. Oct 5, 2026📅 چند متد کاربردی Date در JavaScript کار با تاریخ توی JavaScript اولش یه کم گیج‌کننده به…
  2. Sep 29, 2026📚 یک منبع مفید برای یادگیری JavaScript اگر در حال یادگیری یا کار با JavaScript هستید، Jav…
  3. Sep 19, 2026⚡ چند ترفند کاربردی Emmet در VS Code اگر با HTML و CSS کار می‌کنی، ابزار Emmet می‌تونه کلی…
  4. Sep 18, 2026📍 یه قابلیت جالب JavaScript می‌دونستی به‌جای اینکه آرایه‌ای از Objectها رو با ()console.l…
  5. Sep 15, 2026💡JavaScript چرا وقتی این کد رو اجرا می‌کنیم، ترتیب اعداد درست درنمیاد؟ 🤔 const numbers =…
  6. Sep 9, 2026💡 جواب چالش JavaScript 👆 ⬅️ جواب false هست چون در JavaScript، Objectها و Arrayها با Refe…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →