الخصائص الثابتة (Static Properties)
جزء من قسم Object Oriented Programming في رحلة JavaScript على Coddy — الدرس 32 من 56.
تنتمي الخصائص الساكنة (Static properties) إلى الفئة (class) نفسها، وليس إلى مثيلات (instances) الفئة. وهي مشتركة بين جميع المثيلات.
قم بتعريف فئة (class) بخاصية ثابتة (static property):
class Counter {
// تعريف خاصية ثابتة
static count = 0;
constructor() {
// زيادة العداد الثابت في كل مرة يتم فيها إنشاء مثيل جديد
Counter.count++;
}
}قم بالوصول إلى الخاصية الثابتة باستخدام اسم الفئة:
console.log(Counter.count); // 0
// إنشاء بعض المثيلات
const counter1 = new Counter();
const counter2 = new Counter();
console.log(Counter.count); // 2تُعد الخصائص الثابتة (Static properties) مفيدة للقيم التي يجب مشاركتها عبر جميع النسخ (instances) أو للثوابت على مستوى الفئة (class-level constants). على سبيل المثال:
class MathConstants {
static GOLDEN_RATIO = 1.61803;
}
console.log(MathConstants.GOLDEN_RATIO); // 1.61803التحدي
أضف الخصائص الثابتة PI و E إلى فئة MathConstants:
- خاصية ثابتة
PIقيمتها3.14159 - خاصية ثابتة
Eقيمتها2.71828
جرّب بنفسك
import { MathConstants } from './constants.js';
// كود اختبار - لا تقم بالتعديل
console.log(MathConstants.PI); // يجب أن يخرج 3.14159
console.log(MathConstants.E); // يجب أن يخرج 2.71828
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس 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إعادة التعريف ودالة المساحةعداد الأشكال Static9الخصائص والدوال الثابتة (Static)
مستوى الكلاس مقابل مستوى الكائنالخصائص الثابتة (Static Properties)دوال المساعدة الثابتة (Static Utility Methods)تحدي المراجعة