الـ Default مقابل الـ Named Exports
جزء من قسم البرمجة كائنية التوجه في رحلة JavaScript على Coddy. الدرس 10 من 56.
في وحدات JavaScript، لديك طريقتان رئيسيتان لتصدير التعليمات البرمجية الخاصة بك: عمليات التصدير المسماة وعمليات التصدير الافتراضية.
تسمح لك Export المسماة بتصدير قيم متعددة من وحدة:
// math.js
export function add(a, b) {
return a + b;
}
export function subtract(a, b) {
return a - b;
}عند استيراد الصادرات المسماة، يجب استخدام الأسماء نفسها تمامًا داخل الأقواس المعقوفة:
// app.js
import { add, subtract } from './math.js';
console.log(add(5, 3)); // 8
console.log(subtract(10, 4)); // 6إذا احتجت إلى إعادة تسمية named import، فاستخدم الكلمة المفتاحية as لإنشاء alias:
// app.js
import { add as sum, subtract as minus } from './math.js';
console.log(sum(5, 3)); // 8
console.log(minus(10, 4)); // 6default Exports تتيح لك تصدير قيمة رئيسية واحدة من وحدة:
// user.js
const user = {
name: 'John',
age: 30
};
export default user;عند import default export، يمكنك استخدام أي اسم تريده دون أقواس معقوفة:
// app.js
import person from './user.js';
console.log(person.name); // 'John'متى تستخدم أيًّا منها؟ استخدم named exports عندما توفّر وحدةٌ ما العديد من الأدوات المساعدة المترابطة (مثل مجموعة من الدوال المساعدة). استخدم default export عندما تكون للوحدة غاية أساسية واحدة أو قيمة رئيسية واحدة (مثل فئة أو مكوّن أو كائن إعدادات).
يمكنك دمج كلا النوعين من التصديرات في وحدة واحدة:
// vehicle.js
export const wheels = 4;
export const doors = 4;
const car = {
brand: 'Toyota',
model: 'Corolla'
};
export default car;واستوردها معًا:
// app.js
import myCar, { wheels, doors } from './vehicle.js';
console.log(myCar.brand); // 'Toyota'
console.log(wheels); // 4التحدي
سهللديك ملفان. مهمتك هي إعداد عمليات التصدير في calculator.js وعمليات الاستيراد في main.js.
- في
calculator.js: صدّرcalculateباعتباره default وsquareباعتباره named - في
main.js: استورد الدالتين both بشكل صحيح
ستتحقق الاختبارات مما يلي:
- استخدام التصدير
defaultمعcalculate - استخدام التصدير
namedمعsquare - عمل عمليتي الاستيراد both بشكل صحيح
جرّب بنفسك
// TODO: استورد كلتا الدالتين هنا من calculator.js
// اختبار
console.log(calculate(10, 5, '+')); // يجب أن يُخرج 15
console.log(square(4)); // يجب أن يُخرج 16يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس البرمجة كائنية التوجه
1الكائنات والكلمة المفتاحية this
مراجعة سريعة: الكائناتإضافة Methods إلى الكائناتفهم الكلمة المفتاحية thisConstructor Functionsالكلمة المفتاحية newتحدي المراجعة7الوراثة والكلمة المفتاحية extends
الوراثةعلاقة "is-a"الكلمة المفتاحية extendsالدالة super()وراثة الخصائص والوظائفتحدي المراجعة2تنظيم الكود
ما هي الـ Modules؟التصدير باستخدام exportالاستيراد باستخدام importالـ Default مقابل الـ Named Exports8تنظيم كود OOP
تنظيم الـ Classes في Modules11مشروع: مصيّر الأشكال
إعداد: فئة Shape والتصديروراثة فئة Circleإعادة التعريف ودالة المساحةعداد الأشكال Staticتدرّب بنفسك: مترجم JavaScript عبر الإنترنت