البرمجة

تعيين قيمة افتراضية في Flow

عندما تقوم بتعريف نوع مخصص في Flow وتحاول تعيين قيمة افتراضية لإحدى الخصائص، يتم مواجهة تحدي مع الإصدار الذي تستخدمه، حيث يبدو أنك تستخدم Flow v0.32.0 الذي يعطل إمكانية تعيين القيم الافتراضية بطريقة مباشرة كما هو موضح في الصورة التي قدمتها.

لحل هذه المشكلة وتعيين قيمة افتراضية للخصائص في تعريف النوع، يمكنك استخدام حيلة بسيطة. بدلاً من تعيين القيمة الافتراضية مباشرة في تعريف النوع، يمكنك تعيين القيمة الافتراضية في المكان الذي تستخدم فيه النوع.

لذلك، يمكنك تعديل تعريف النوع MyType كما يلي:

javascript
export type MyType = { code: number, type?: number, }

ومن ثم، عند استخدام MyType، يمكنك تعيين القيمة الافتراضية لخاصية النوع (type) في المكان الذي تقوم فيه بإنشاء كائن MyType، مثل هذا:

javascript
const myObject: MyType = { code: 123, type: 1, // تعيين القيمة الافتراضية هنا };

بهذه الطريقة، يمكنك الآن تحديد قيمة افتراضية للخاصية type دون أن تواجه مشكلة الـ Unexpected token =.

المزيد من المعلومات

بالتأكيد، إليك استكمال للمقال:

إذا كنت ترغب في تعيين قيمة افتراضية لخاصية النوع (type) في حالة عدم توفر قيمة، فيمكنك استخدام التعبير الشرطي أو الاختبار المنطقي لتعيين القيمة الافتراضية. على سبيل المثال:

javascript
const myObject: MyType = { code: 123, type: myFunction() !== undefined ? myFunction() : 1, // استخدام التعبير الشرطي }; function myFunction(): ?number { // يمكنك استبدال هذا بكود يعيد القيمة المناسبة }

في هذا المثال، يتم استخدام التعبير الشرطي (myFunction() !== undefined ? myFunction() : 1) لتعيين قيمة افتراضية للخاصية type إذا كانت القيمة المُعادة من الدالة myFunction() غير معرفة (undefined). وبالتالي، يتم تعيين القيمة 1 كقيمة افتراضية.

عليك ملاحظة أن الرمز (?:) في الكود السابق يمثل التعبير الشرطي، وهو يقوم بفحص شرط محدد، وفي حالة صحته يقوم بإرجاع القيمة الأولى، أما في حالة كون الشرط غير صحيح، فيتم إرجاع القيمة الثانية.

باستخدام هذه الطريقة، يمكنك تحقيق الغرض المطلوب من تعيين قيمة افتراضية لخاصية النوع في Flow دون مواجهة مشاكل الصياغة الخاصة بالإصدار الذي تستخدمه.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر