Menu
CoddyTech

الخصائص المحسوبة

جزء من قسم البرمجة كائنية التوجه في رحلة JavaScript على Coddy. الدرس 44 من 56.

الخصائص المحسوبة هي دوال وصول تحسب قيمة وتُعيدها بدلًا من إرجاع البيانات المخزنة فحسب. تبدو كخصائص عادية، لكنها تحسب قيمتها فور الحاجة.

لنلقِ نظرة على المثال. لدينا كائن يحتوي على خاصية عادية:

const circle = {
  radius: 5
};

والآن نضيف خاصية محسوبة باستخدام دالة getter:

const circle = {
  radius: 5,
  get diameter() {
    return this.radius * 2;
  }
};

هكذا نصل إلى الخاصية المحسوبة:

console.log(circle.diameter); // الناتج: 10

إذا حدّثنا نصف القطر، فسيُحدَّث القطر تلقائيًا أيضًا:

circle.radius = 10;
console.log(circle.diameter); // الناتج: 20

تكون الخصائص المحسوبة مفيدة عندما تعتمد قيمة خاصية على خصائص أخرى أو تتطلب إجراء عملية حسابية.

challenge icon

التحدي

لديك فئة Rectangle تحتوي على خاصيتي العرض والارتفاع. مهمتك هي إضافة خصائص محسوبة للمساحة والمحيط.

  1. خاصية محسوبة area - تُرجع العرض × الارتفاع
  2. خاصية محسوبة perimeter - تُرجع 2 × (العرض + الارتفاع)

جرّب بنفسك

import { Rectangle } from './rectangle.js';

// كود الاختبار - لا تعدّله
const rect = new Rectangle(5, 10);
console.log(`Area: ${rect.area}`);        // يجب أن تكون النتيجة "Area: 50"
console.log(`Perimeter: ${rect.perimeter}`); // يجب أن تكون النتيجة "Perimeter: 30"
quiz iconاختبر نفسك

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

جميع دروس البرمجة كائنية التوجه

تدرّب بنفسك: مترجم JavaScript عبر الإنترنت