سلام دوستان. ماژول‌ها یکی از مهمترین و پراستفاده‌ترین ویژگی‌ها توی دنیای جاوااسکریپت مدرن هستن و امروزه تقریباً هر برنامه‌ی بزرگ و کوچیکی از این ویژگی بهره می‌بره. درک ماژول‌ها و نحوه‌ی کاربرد اونها توی جاوااسکریپت اهمیت زیادی داره. چون ابزارهای امروزی مثل فریم‌ورک‌ها خیلی فراوون از این ویژگی استفاده می‌کنن. توی این قسمت با ماژول‌های جاوااسکریپت که توسط ES6 معرفی شدن آشنا می‌شیم و فواید اونها رو بررسی می‌کنیم.

توی این قسمت یاد می‌گیریم که:

 

ماژول چیه؟ 🤔

یک جمله معروف درباره ماژول‌ها یا بطور کلی اصل Separation of concerns (جداسازی وابستگی‌ها) وجود داره:

نویسندگان خوب، کتاب‌ها رو به بخش‌ها و فصل‌های مجزا تقسیم‌بندی می‌کنن. برنامه‌نویس های خوب، برنامه‌ رو به بخش‌های مختلف تقسیم‌بندی می‌کنن.

درست مثل یک کتابی که به فصل‌های مجزا تقسیم‌بندی میشه، یک برنامه می‌تونه به قسمت‌های مجزا تقسیم بندی بشه. به هر یک از این قسمت‌ها میگن ماژول (Module).
یک ماژول معمولاُ مستقل از بخش‌های برنامه عمل می‌کنه. توی جاوااسکریپت هر ماژول بصورت یک فایل جداگونه ذخیره میشه و می‌تونه بدون مشکل به یک ماژول دیگه و یا به هسته برنامه اضافه یا برداشته بشه. اعضای یک ماژول (متغیرها، توابع و ... ) فقط توی خود ماژول قابل دسترسی هستن و Global نیستن.

حالا وقت بررسی کردن این ویژگی توی جاوااسکریپت هست.

ما با کلمه‌کلیدی import یک ماژول رو وارد برنامه می‌کنیم و فقط به اعضایی دسترسی داریم که توی ماژول export شده باشن. پس اول Export رو بررسی می‌کنیم.

 

کلمه‌کلیدی export

با کلمه‌کلیدی export می‌تونیم یک عضو از ماژول مثل یک متغیر رو قابل دسترسی کنیم. برای export کردن متغیرها، توابع، کلاس‌ها و ... از کلمه‌کلیدی export قبل از اون عضو استفاده می‌کنیم. ابتدا یک فایل به اسم دلخواه مثلا درست می‌کنیم با محتویات زیر: