خطأ جافاسكريبت: ماذا يعني undefined؟
متغير بلا قيمة وفهرس غير موجود والفرق عن null.
كل الدروس · دروس جافاسكريبت: تعلّم من الصفر
متغير بلا قيمة
undefined ليس دائماً خطأ. إذا أُنشئ متغير ولم تُعطَ له قيمة فقيمته undefined.
let ad; console.log(ad); // undefined ad = "Murad"; console.log(ad); // Murad
فهرس أو خاصية غير موجودة
الفهرس غير الموجود في المصفوفة والخاصية غير الموجودة في الكائن يُرجعان undefined أيضاً. هذا يقول إن البيانات غير موجودة ولا يوقف البرنامج وحده.
let meyveler = ["Alma", "Armud", "Banan"];
console.log(meyveler[5]); // undefined
let telebe = { ad: "Aysel", yas: 20 };
console.log(telebe.soyad); // undefinednull وTypeError
null قيمة فارغة وضعها المبرمج عمداً. undefined يعني أن القيمة لم تُعطَ بعد. قراءة خاصية من undefined تُنتج TypeError. افحص أولاً.
let secilmis = null;
let telebe;
if (telebe !== undefined) {
console.log(telebe.ad);
} else {
console.log("Tələbə məlumatı yoxdur.");
}أسئلة
هل undefined خطأ؟ بذاته لا. القيمة لم تُعطَ أو البيانات المطلوبة غير موجودة.
ما الفرق عن null؟ null تُرك فارغاً عمداً. undefined لم يُعيَّن.
متى يحدث TypeError؟ عند قراءة خاصية من undefined بنقطة. مثلاً telebe.ad بينما telebe هي undefined.
كيف أفحص؟ if (ad === undefined). إذا وُجدت قيمة فـ ad !== undefined.