اذهب إلى المحتوى
  • 0

ما الفارق بين null و undefined

Eslam Wael

السؤال

Recommended Posts

  • 1

عليكم السلام،

 يتم استخدام null و undefined بطرق مختلفة ولأسباب مختلفة في JavaScript.

حيث يتم استخدام undefined عادة عندما تريد الإشارة إلى متغير لم يتم تعيين قيمة له. على سبيل المثال، إذا كنت تعرف متغيرًا بدون قيمة محددة، فيمكنك تعيين قيمة undefined له.

من ناحية أخرى، يتم استخدام null عادة لإشارة إلى أن المتغير لا يحتوي على أي قيمة في الوقت الحالي. على سبيل المثال، يمكن أن تعيين قيمة null إلى متغير بعدما تم استخدامه في وقت ما.

يمكن استخدام undefined و null معًا لإشارة إلى أن المتغير لم يتم تعيين أي قيمة له، ولا يحتوي على أي قيمة في الوقت الحالي.

وسأشرح لك بشكل أكثر تفصيلاً.

تستخدم قيمة undefined عادة في الحالات التالية:

  • عند تعريف متغير جديد ولم يتم تعيين أي قيمة له بعد، فإن قيمته تكون undefined بشكل افتراضي.
  • عندما يتم إرجاع قيمة undefined من دالة أو طريقة في حالة عدم وجود قيمة للإرجاع.
  • عندما تتم مقارنة متغير مع undefined للتحقق مما إذا كان يحتوي على قيمة أو لا.

استخدام قيمة null

غالباً ما تستخدم لإعطاء قيمة فارغة لمتغير معين عندما يكون من المهم تفريقه عن القيمة undefined. على سبيل المثال، عندما يتم تحميل بيانات من خادم ولا يوجد بيانات متاحة للعرض، يمكن استخدام null بدلاً من undefined لتفريق الحالة الفارغة عن حالة عدم تعيين القيمة.

لاحظ أن القيمتين لهما استخدامات مختلفة، وغالبًا ما تختلف تبعًا للحالة التي تواجهها. لذلك، يجب عليك اختيار القيمة المناسبة بناءً على الحالة التي تواجهها.

ولاحظ أيضًا أن كلا القيمتين تعطي قيمة false عندما تستخدم في ظروف معينة مثل قياس قيمة متغير boolean، لكن الاستخدام الرئيسي لهما مختلف ولا ينبغي الخلط بينهما.

 بعض الأمثلة التوضيحية التي تظهر كيفية استخدام null و undefined في JavaScript:

مثال على undefined:

let x; // تعريف المتغير دون تعيين قيمة

if (x === undefined) {
  console.log("x is undefined"); // سيتم طباعة هذه الرسالة لأن x ليس له قيمة
}

مثال على null:

let y = null; // تعريف المتغير وتعيينه قيمة null

if (y === null) {
  console.log("y is null"); // سيتم طباعة هذه الرسالة لأن y تم تعيينها بقيمة null
}

مثال يستخدم كلا القيمتين:

let z; // تعريف المتغير دون تعيين قيمة

z = null; // تعيين قيمة null للمتغير

if (z === null || z === undefined) {
  console.log("z is null or undefined"); // سيتم طباعة هذه الرسالة لأن z ليس له قيمة أو تم تعيينها بقيمة null
}

لاحظ أن القيمتين تحددان بشكل مختلف في JavaScript ويمكن استخدام كلا القيمتين بطرق مختلفة لتحقيق مختلف الأغراض.

https://wiki.hsoub.com/JavaScript/undefined

https://wiki.hsoub.com/JavaScript/null

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

الفرق بين null و undefined هو أن null يعني عدم وجود قيمة، بينما undefined يعني عدم تعريف القيمة. بمعنى آخر، إذا كانت قيمة متغير معين تساوي null، فهذا يعني أنه لا يوجد أي قيمة مخصصة لهذا المتغير، في حين أن undefined يشير إلى أن المتغير لم يتم تعريفه بشكل صحيح ولا يحتوي على أية قيمة.

وهذا مثال للتوضيح.

var name = null; // متغير ليس له قيمة
console.log(name) // null
var age;// متغير لم يتم تعين قيمة له
console.log(age) // undefined 

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

ال null و undefine لهما  نفس القيمة

Boolean (undefined) === false && Boolean (null) === false

 يمكنك تقنيًا استخدام أي منهما لإنجاز المهمة. ومع ذلك ، ولكن هناك طريقة صحيحة للإستخدام 

  • اترك استخدام undefine    لمترجم جافا سكريبت.يستخدم undefined لوصف المتغيرات التي لا تشير إلى مرجع. إنه شيء سيعتني به مترجم JS. في وقت الترجمة ، سيقوم محرك JS بتعيين قيمة جميع المتغيرات المرفوعة إلى undefine . عندما يخطو المحرك من خلال الشفرة والقيم تصبح متاحة ، سيقوم المحرك بتعيين القيم الخاصة بالمتغيرات المعنية. بالنسبة لتلك المتغيرات التي لم تجد قيمًا لها ، ستستمر المتغيرات في الاحتفاظ بمرجع إلى الأصل undefine .
  • استخدم القيمة الفارغة فقط إذا كنت تريد الإشارة إلى قيمة المتغير على أنها "بلا قيمة".

إختصاراً لا تستخدم القيمة undefine البدائية . إنها قيمة سيقوم برنامج التحويل البرمجي JS بتعيينها لك تلقائيًا عندما تعلن عن متغيرات بدون تخصيص أو إذا حاولت الوصول إلى خصائص كائنات لا يوجد مرجع لها. من ناحية أخرى ، استخدم القيمة null إذا كنت تريد عن قصد أن يكون للمتغير "بلا قيمة".

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

و عليكم السلام ,
انواع البيانات (Primitive data types )في لغة الjavascript هي كالتالي : string , number , object , booleans ,BigInt و أهمهم بالنسبة للسؤال و هو الundefined 
و ذلك أول فارق جوهري بين الnull و الundefined و هو أن الundefined هو بالفعل data type في لغة الجافاسكريبت .

يوجد نوع أخر من الdata types في لغة الjs و هو نوع الobject data types و هو يضم الarrays و الfunctions و غيرهم و الnull ينتمي الى هذا النوع .
بمعنى أن الnull هو في الأصل object ولكن لا قيمة لة .
لذلك فأن الفارق في المعنى بين الأثنين أن الundefined يعني غياب قيمة المتغير كليا . 
بينما الnull يأتي بمعنى غياب قيمة الobject .
 

let x;
concole.log(x,typeof x)//الرسالة سوف تظهر (undefined , undefined)

let y = null ;
console.log(y , typeof y)//الرسالة (null , object)

و من هنا نستنج أن لغة الjs نفسها تضع قيمة الundefined للمتغيرات التي لاقيمة لها ولا نحتاج نحن لوضعها .
بينما الnull هو object لا قيمة له و يتم تعريفة يدويا .

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...