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

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

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

خصائص computed هي getter تقوم بحساب قيمة وإرجاعها بدلاً من مجرد return البيانات المخزنة. تبدو مثل property عادية، لكنها تحسب قيمتها بشكل فوري.

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

const circle = {
  radius: 5
};

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

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

هكذا نصل إلى الخاصية computed:

console.log(circle.diameter); // المخرجات: 10

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

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

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

challenge icon

التحدي

أُعطيتَ فئة Rectangle مع الخاصيتين width وheight. مهمتك هي إضافة خصائص computed لـ area وperimeter.

  1. خاصية computed <strong>area</strong> - returns width × height
  2. خاصية computed <strong>perimeter</strong> - returns 2 × (width + height)

جرّب بنفسك

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 عبر الإنترنت