توابع، تردها و اجرای ناهمگام در جاوااسکریپت
شما باید درک کنید که جاوااسکریپت در پشت صحنه چگونه کار میکند.
در اینجا تجزیه و تحلیلی از توابع، فرآیندها، تردها و سبکهای اجرا آورده شده است.
انواع توابع جاوااسکریپت
- تابع نامدار (Named Function): از یک نام مشخص استفاده میکند. این کار عیبیابی (debugging) را آسان میکند.
- تابع بینام (Anonymous Function): نامی ندارد. اغلب از آنها به عنوان callback استفاده میشود.
- عبارت تابع (Function Expression): یک تابع را به یک متغیر اختصاص میدهید.
- تابع پیکانی (Arrow Function): سینتکس کوتاهتری است که از نماد
=>استفاده میکند. - IIFE: عبارت تابعی که بلافاصله فراخوانی میشود (Immediately Invoked Function Expression). به محض تعریف شدن، اجرا میشود.
فرآیند (Process) در مقابل ترد (Thread)
یک فرآیند (Process) برنامهای است که روی کامپیوتر شما در حال اجراست.
- هر فرآیند حافظه مخصوص به خود را دارد.
- اگر یک فرآیند کرش کند، بقیه به کار خود ادامه میدهند.
- مثال: Chrome و Spotify فرآیندهای جداگانه هستند.
یک ترد (Thread) واحد کوچکی در داخل یک فرآیند است.
- تردها از حافظه مشترک استفاده میکنند.
- آنها به یک برنامه اجازه میدهند تا چندین کار را به طور همزمان انجام دهد.
- مثال: در داخل Chrome، یک ترد صفحه را رندر میکند در حالی که ترد دیگر کلیکهای موس شما را مدیریت میکند.
**همگام (Synchronous) در مقابل