Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

الخصائص والدوال

جزء من قسم 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'

أضف تابعاً (method) إلى الفئة (class):

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.'
challenge icon

التحدي

أنشئ فئة (class) باسم Book في ملف book.js تحتوي على ما يلي:

  1. منشئ (constructor) يأخذ المعاملات title و author و pages ويقوم بتعيينها كخصائص (properties).
  2. دالة (method) تسمى getInfo تعيد سلسلة نصية بالتنسيق التالي: “Title: [title], Author: [author], Pages: [pages]”
  3. قم بتصدير الفئة عن طريق إضافة `export` أمام إعلان الـ `class`

ورقة مرجعية

تُعرف الأصناف (Classes) في JavaScript الخصائص والأساليب (methods) المشتركة بين جميع النسخ (instances).

إنشاء صنف باستخدام منشئ (constructor):

class Car {
  constructor(make, model) {
    this.make = make;
    this.model = model;
  }
}

إنشاء نسخة باستخدام new:

const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.make);  // المخرج: 'Toyota'

إضافة أساليب إلى الصنف:

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.'

تصدير صنف:

export class Car {
  // تعريف الصنف
}

جرّب بنفسك

import { Book } from './book.js';

// اختبار (لا تقم بتعديل هذا الجزء)
const book = new Book("JavaScript Basics", "John Doe", 200);
console.log(book.getInfo());
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Object Oriented Programming