ما هو null/nil في TypeScript وكيفية التعامل معه؟
مرحباً بالجميع! بدأت في تعلم TypeScript وواجهت ارتباكاً في فهم null و undefined. في JavaScript اعتدت أن null هو 'لا شيء' محدد صراحةً، و undefined هو قيمة غير مهيأة. لكن في TypeScript تمت إضافة نوع nil أيضاً؟ أم أنهما نفس الشيء؟
المشكلة: في مشروعي هناك دالة تعيد بيانات من قاعدة البيانات. إذا لم يتم العثور على السجل، أريد إرجاع null، لكن TypeScript يشتكي من أن الدالة قد تعيد undefined. حاولت استخدام الوضع الصارم (strictNullChecks: true) وتحديد نوع القيمة المرجعة بشكل صريح كـ string | null، لكني ما زلت أحصل على أخطاء عند محاولة الوصول إلى النتيجة دون التحقق.
مثال كود:
function findUser(id: number): string | null {
const user = database.get(id);
if (!user) return null;
return user.name;
}
const userName = findUser(123);
console.log(userNam