القيمة الفارغة (null)

ما هي القيمة null ؟

هي نوع من أهم أنواع البيانات ويُستخدم بكثرة في المشاريع البرمجية، ويعني قيمة فارغة يعني مثلاً إذا قلنا أن المتغير result يساوي null فهذا معناه أن المتغير قيمته فارغه!

var name = null;

استخدامات null

مثال حقيقي على استخدام null

اﻵن أعلم أنك تستغرب وفضولك يدفعك للسؤال عن فيم يُستخدم؟ سأوضح لك بمثال حقيقي

مثلاً عندما تفتح صفحة شخص على فيسبوك ولكن هذه الصفحة لا يوجد فيها منشورات، البرمجة الخلفية لفيسبوك عندما لا تجد منشورات تقوم بإرسال القيمة إلى الواجهة الأمامية null بدلاً من إرسال محتوى المنشورات! فذاك النوع من البيانات يعني غير موجود، وكذلك عندما مثلاً تحاول الدخول لموقع لم تسجل فيه فتظهر لك رسالة "البريد الإلكتروني غير موجود"، هنا ما حدث هو أن البرمجة الخلفية بحثت عن حسابك لم تجده فقامت بإرسال رد إلى الواجهة الأمامية من نوع null لتعرف الواجهة أن ما نبحث عنه غير موجود فتُظهر رسالة بريدك غير موجود!

النص مقتبس من درس أنواع البيانات المستوى اﻹبتدائي

مثال المدينة غير معرّفة

في الشبكات اﻹجتماعية مثلاً تجد أن هناك مستخدمين قاموا بإضافة مدينتهم إلى صفحتهم الشخصية، وهناك آخرون لم يضيفوا مدينتهم، بالتالي في الحالة اﻷولى سيكون المتغير city يساوي اسم مدينة الشخص، أما إن لم يقم المستخدم بإضافة مدينته، تكون قيمة المتغير تساوي city = null وحينها إن وجد تطبيق الشبكة اﻹجتماعية قيمة المتغير city تساوي null سيقوم بإخفاء سطر "المدينة"، ويُظهره فقط إن كان هناك مدينة!.

مثال برمجي على استخدام null

تخيل أننا قمنا بإنشاء دالة تأخذ مدخل مصفوفة ومهمتها أن تقوم بإرجاع آخر عدد زوجي من اﻷعداد الموجودة في المصفوفة، لكن في مرة قمنا بإدخال مصفوفة كلها أعداد فردية، اﻵن لا يوجد عدد زوجي لإرجاعه! فما القيمة التي ستقوم الدالة بإرجاعها؟ في هذه الحالة ستقوم بإرجاع null أي قيمة فارغة، أي لم تجد الدالة عدد زوجي ﻹرجاعه!

function getFirstEven(numbers){
  var evenNumber = null;

  var i = 0;
  while (i < numbers.length){
    var num = numbers[i];
    if (num % 2 == 0){
      evenNumber = num;
    }
    i += 1;
  }
  return evenNumber;
}

console.log( getFirstEven([1, 3, 4, 7, 8, 9]) );
console.log( getFirstEven([1, 3, 5]) );
ناتج التشغيل 8
null

اﻹستدعاء اﻷول للدالة قام بإرجاع 8 ﻷنه آخر عدد زوجي، أما اﻹستدعاء الثاني للدالة قام بإرجاع null ﻷن المُدخلات كلها أعداد فردية [1, 3, 5]

المساهمين

وجدت خطأ أو تريد المساهمة في محتوى الدرس؟ عدل الصفحة على Github