ما هي الـ Modules؟
جزء من قسم Object Oriented Programming في رحلة JavaScript على Coddy — الدرس 7 من 56.
عندما يصبح كود JavaScript الخاص بك كبيراً ومعقداً، يصبح من الصعب إدارة كل شيء في ملف واحد. الحل هو modules: تقسيم الكود الخاص بك إلى ملفات منفصلة ومنظمة.
الـ module (الوحدة البرمجية) هو ملف JavaScript يحتوي على كود ذي صلة. تتعامل كل وحدة مع وظيفة محددة واحدة، مما يجعل تطبيقك أسهل في الفهم والصيانة.
وحدة JavaScript هي ملف .js عادي يمكنه تصدير (export) الكود (المتغيرات، الدوال، الأصناف) بحيث يمكن للملفات الأخرى استيراده (import) واستخدامه.
مثال:
ملف واحد فوضوي:
// ملف: messy-app.js
let user = "John";
let score = 0;
function login() {
console.log("Welcome " + user);
}
function addPoints(points) {
score += points;
}ملفان منظمان باستخدام الوحدات (Modules):
// ملف: user-module.js
let user = "John";
function login() {
console.log("Welcome " + user);
}
// ملف: game-module.js
let score = 0;
function addPoints(points) {
score += points;
}user-module.js - يعالج مصادقة المستخدم والبيانات المتعلقة بالمستخدم ويحتوي على اسم المستخدم ووظيفة تسجيل الدخول.
game-module.js - يدير نظام تسجيل النقاط في اللعبة ويتتبع النتيجة ويتعامل مع حسابات النقاط.
التحدي
سهللديك وحدتان برمجيتان متصلتان بالفعل: user-module.js و game-module.js.
مهمتك هي استدعاء الدالة addPoints بالقيمة 10 في user-module.js.
المخرجات المتوقعة:
Score increased! Current score: 10
ورقة مرجعية
الـ module (الوحدة البرمجية) هو ملف JavaScript يحتوي على كود برمجي ذي صلة. تتعامل كل وحدة مع وظيفة محددة واحدة، مما يجعل تطبيقك أسهل في الفهم والصيانة.
تسمح لك الوحدات البرمجية (Modules) بتقسيم الكود الخاص بك إلى ملفات منفصلة ومنظمة بدلاً من إدارة كل شيء في ملف واحد كبير.
وحدة JavaScript البرمجية هي ملف .js عادي يمكنه تصدير (export) الكود (المتغيرات، الدوال، الفئات) حتى تتمكن الملفات الأخرى من استيراده (import) واستخدامه.
مثال على تنظيم الكود باستخدام الوحدات البرمجية:
// ملف: user-module.js
let user = "John";
function login() {
console.log("Welcome " + user);
}// ملف: game-module.js
let score = 0;
function addPoints(points) {
score += points;
}جرّب بنفسك
import { addPoints } from './game-module.js';
let user = "John";
// TODO: استدعاء دالة addPoints بالقيمة 10
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Object Oriented Programming
1الكائنات والكلمة المفتاحية this
مراجعة سريعة: الكائناتإضافة Methods إلى الكائناتفهم الكلمة المفتاحية thisConstructor Functionsالكلمة المفتاحية newتحدي المراجعة7الوراثة والكلمة المفتاحية extends
الوراثةعلاقة "is-a"الكلمة المفتاحية extendsالدالة super()وراثة الخصائص والوظائفتحدي المراجعة2تنظيم الكود
ما هي الـ Modules؟التصدير باستخدام exportالاستيراد باستخدام importالـ Default مقابل الـ Named Exports8تنظيم كود OOP
تنظيم الـ Classes في Modules11مشروع: مصيّر الأشكال
إعداد: فئة Shape والتصديروراثة فئة Circle