كتل الإعداد الثابتة هي ميزة جديدة من ميزات JavaScript، ويتم توحيدها في الإصدار ECMAScript 2022 ويتوفّر فقط في الإصدارات الحديثة. تتيح لك كتل التهيئة الثابتة تعيين قيمة الحقول الثابتة ديناميكيًا، باستخدام منطق يمتد إلى عبارات متعددة.
لإنشاء مجموعة إعداد ثابتة، استخدِم الكلمة الرئيسية static
متبوعة
عبارة حظر في مجعّد
الأقواس ({}
):
class MyClass {
static {}
}
يتيح لك هذا النمط تهيئة الحقول الثابتة المُعلنة في النص الأساسي أو تغييرها الفئة:
class MyClass {
static firstProperty = 'First property.';
static secondProperty;
static {
this.secondProperty = 'Second property.';
}
}
MyClass.secondProperty;
"Second property."
ويتم تقييم هذه العبارات في الوقت الذي يتم فيه إعداد الفئة لأول مرة، والذي
عندما يقيّمها محرّك JavaScript لأول مرّة، وليس عندما
يتم إنشاء الصف، كما هو الحال مع constructor()
:
class MyClass {
static {
console.log( "Static initialization block." );
}
constructor() {
console.log( "Constructor." );
}
}
> "Static initialization block."
const myClassInstance = new MyClass();
> "Constructor."
ويمكن أن تحتوي الفئة على كتل إعداد ثابتة متعددة، وتكون هذه الكتل بالترتيب الذي تم الإعلان عنه، إلى جانب أي حقول ثابتة أخرى الطرق. وهذا يعني أن الحقول المعلنة قبل التهيئة الثابتة فقط تتوفر كتلة واحدة في هذه المجموعة:
class MyClass {
static myNewField;
static {
this.myNewField = this.myField;
}
static myField = "My value.";
};
MyClass.myNewField;
> undefined
class MyCorrectedClass {
static myNewField;
static myField = "My value.";
static {
this.myNewField = this.myField;
}
};
MyCorrectedClass.myNewField;
> "My value."
التحقق من فهمك
أي من العبارات التالية صحيحة؟