الخصائص والدوال
جزء من قسم Object Oriented Programming في رحلة JavaScript على Coddy — الدرس 13 من 56.
تسمح لنا الأصناف (Classes) في جافا سكريبت بتعريف الخصائص والأساليب التي ستتم مشاركتها من قبل جميع مثيلات الصنف.
أنشئ فئة بخصائص:
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
}عند إنشاء مثيل (instance)، يقوم المنشئ (constructor) بتعيين هذه الخصائص:
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.make); // المخرجات: 'Toyota'
console.log(myCar.model); // المخرجات: 'Corolla'أضف طريقة إلى الفئة:
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
getDescription() {
return `This car is a ${this.make} ${this.model}.`;
}
}الآن يمكننا استدعاء هذه الطريقة على أي مثيل:
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.getDescription()); // النتيجة: 'This car is a Toyota Corolla.'التحدي
أنشئ فئة (class) باسم Book في ملف book.js بالتالي:
- منشئ (constructor) يأخذ المعاملات
titleوauthorوpagesويقوم بتعيينها كخصائص (properties). - دالة (method) تسمى
getInfoتعيد سلسلة نصية بالتنسيق التالي: “Title: [title], Author: [author], Pages: [pages]” - قم بتصدير الفئة عن طريق إضافة `export` أمام تصريح `class`
جرّب بنفسك
import { Book } from './book.js';
// اختبار (لا تقم بتعديل هذا الجزء)
const book = new Book("JavaScript Basics", "John Doe", 200);
console.log(book.getInfo());
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس 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إعادة التعريف ودالة المساحةعداد الأشكال Static