Skip to content

Latest commit

 

History

History
62 lines (48 loc) · 3.88 KB

File metadata and controls

62 lines (48 loc) · 3.88 KB
title description position category createdAt updatedAt new updated contributors
القيمة الفارغة (null)
شرح تحويل أنواع البيانات وأهمية هذه العملية واستخداماتها
7
intermediate
1614682578722
1614682578722
false
false
ebrahimmaher

ما هي القيمة 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]