Menu
CoddyTech
flag Ar iconالعربيةdown icon

التعامل مع 'null' و 'undef'

جزء من قسم مقدمة إلى TypeScript في رحلة JavaScript على Coddy. الدرس 9 من 73.

يمثل النوع undefined متغيرًا تم التصريح عنه ولكن لم يتم تعيين قيمة له، أو دالة لا ترجع أي شيء بشكل صريح. أما النوع null، من ناحية أخرى، فيمثل غيابًا متعمدًا للقيمة - حيث يتم تعيينه صراحةً للإشارة إلى "عدم وجود قيمة".

let userName: string | null = null;        // لا توجد قيمة عن قصد
let userAge: number | undefined;           // تم التصريح عنه ولكن لم يتم تعيين قيمة له

تساعد ميزة strict null checking في TypeScript في منع أخطاء وقت التشغيل الشائعة من خلال إجبارك على التعامل مع هذه الحالات بشكل صريح. عندما يكون لديك متغير قد يكون null أو undefined، يجب عليك التحقق من هذه القيم قبل الوصول إلى الخصائص أو الأساليب.

function getLength(text: string | null): number {
    if (text === null) {
        return 0;  // التعامل مع حالة null
    }
    return text.length;  // من الآمن استخدام دوال السلاسل النصية
}
challenge icon

التحدي

سهل

أنشئ دالة باسم getStringLength تقبل بارامتر من نوع string | null وتُعيد number.

يجب أن تتعامل الدالة مع كلتا الحالتين:

  • إذا كان البارامتر عبارة عن سلسلة نصية، فقم بإعادة طولها
  • إذا كان البارامتر null، فقم بإعادة 0

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

  • استدعِ getStringLength("Hello TypeScript")
  • استدعِ getStringLength(null)
  • استدعِ getStringLength("TS")

اطبع كل نتيجة في سطر منفصل بالترتيب المذكور أعلاه.

جرّب بنفسك

// TODO: اكتب كودك هنا
// قم بإنشاء دالة getStringLength التي تقبل string | null وتعيد number

// اختبر الدالة بالقيم المطلوبة واطبع النتائج
quiz iconاختبر نفسك

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

جميع دروس مقدمة إلى TypeScript

تدرّب بنفسك: Playground لـ TypeScript