title | description | position | category | createdAt | updatedAt | new | updated | contributors | |
---|---|---|---|---|---|---|---|---|---|
القيمة الفارغة (null) |
شرح تحويل أنواع البيانات وأهمية هذه العملية واستخداماتها |
7 |
intermediate |
1614682578722 |
1614682578722 |
false |
false |
|
هي نوع من أهم أنواع البيانات ويُستخدم بكثرة في المشاريع البرمجية، ويعني قيمة فارغة يعني مثلاً إذا قلنا أن المتغير result
يساوي null
فهذا معناه أن المتغير قيمته فارغه!
var name = null;
اﻵن أعلم أنك تستغرب وفضولك يدفعك للسؤال عن فيم يُستخدم؟ سأوضح لك بمثال حقيقي
مثلاً عندما تفتح صفحة شخص على فيسبوك ولكن هذه الصفحة لا يوجد فيها منشورات، البرمجة الخلفية لفيسبوك عندما لا تجد منشورات تقوم بإرسال القيمة إلى الواجهة الأمامية null
بدلاً من إرسال محتوى المنشورات! فذاك النوع من البيانات يعني غير موجود، وكذلك عندما مثلاً تحاول الدخول لموقع لم تسجل فيه فتظهر لك رسالة "البريد الإلكتروني غير موجود"، هنا ما حدث هو أن البرمجة الخلفية بحثت عن حسابك لم تجده فقامت بإرسال رد إلى الواجهة الأمامية من نوع null
لتعرف الواجهة أن ما نبحث عنه غير موجود فتُظهر رسالة بريدك غير موجود!
النص مقتبس من درس أنواع البيانات المستوى اﻹبتدائي
في الشبكات اﻹجتماعية مثلاً تجد أن هناك مستخدمين قاموا بإضافة مدينتهم إلى صفحتهم الشخصية، وهناك آخرون لم يضيفوا مدينتهم، بالتالي في الحالة اﻷولى سيكون المتغير city
يساوي اسم مدينة الشخص، أما إن لم يقم المستخدم بإضافة مدينته، تكون قيمة المتغير تساوي city = null
وحينها إن وجد تطبيق الشبكة اﻹجتماعية قيمة المتغير city
تساوي 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]) );
null
اﻹستدعاء اﻷول للدالة قام بإرجاع
8
ﻷنه آخر عدد زوجي، أما اﻹستدعاء الثاني للدالة قام بإرجاعnull
ﻷن المُدخلات كلها أعداد فردية[1, 3, 5]