الكلمات السابقة
في لغات البرمجة العامة ، تعني NULL فقط فارغة ، لكن مصمم JavaScript Brendan Eich صمم غير محدد ، مما يزيد بلا شك من تعقيد البرنامج ، ولكن هناك سبب معين للقيام بذلك. ستقدم هذه المقالة غير محددة وغير فارغة في JavaScript بالتفصيل
أسباب تاريخية عندما ولدت JavaScript في عام 1995 ، مثل Java ، تم تعيين Null فقط كقيمة تشير إلى "لا شيء". وفقًا لتقاليد لغة C ، تم تصميم NULL لتحول تلقائيًا إلى 0
ومع ذلك ، يعتقد مصمم JavaScript Brendan Eich أن هذا لا يكفي ، لسببين. أولاً ، يتم التعامل مع NULL ككائن كما في Java. ومع ذلك ، تنقسم قيم JavaScript إلى فئتين: الأنواع البدائية وأنواع الكائنات. يعتقد بريندان إيتش أن القيمة التي تعني "لا شيء" هي أفضل شيء. ثانياً ، لم يتضمن الإصدار الأولي من JavaScript آلية معالجة الأخطاء. عند حدوث عدم تطابق نوع البيانات ، غالبًا ما يقوم بتحويل النوع أو يفشل بصمت. يعتقد Brendan Eich أنه إذا تحول Null تلقائيًا إلى 0 ، فمن الصعب العثور على أخطاء
لذلك ، صمم بريندان إيتش آخر غير محدد. إنه يميزه مثل هذا: NULL هو كائن يمثل "لا شيء" ، وهو 0 عند تحويله إلى قيمة رقمية ؛ غير المحددة هي قيمة أصلية تمثل "لا شيء" ، وهي نان عند تحويلها إلى قيمة رقمية
ومع ذلك ، حاليًا فارغ وغير محدد في الأساس مرادفان ، كلاهما نوعان بدائي ، وهناك فقط بعض الاختلافات الطفيفة.
النوع غير المحدد المحدد له قيمة واحدة فقط ، وهو غير محدد. عند عدم تهيئة المتغير المعلن ، تكون القيمة الافتراضية للمتغير غير محددة. بشكل عام ، يعني غير المحدد أن المتغير لم يتم تهيئته
var test ؛ // undefinedconsole.log (اختبار == غير محدد) ؛ // truevar test = undefined ؛ // undefined
بالنسبة للمتغيرات التي لم يتم الإعلان عنها ، يمكن تنفيذ عملية واحدة فقط ، باستخدام مشغل typeof للكشف
نوع (اختبار) ؛ // غير محدد
【مظهر المشهد】
【1】 المتغيرات غير المقيمة المعلنة
【2】 احصل على السمات غير الموجودة في الكائن
【3】 نتيجة التنفيذ للوظيفة بدون قيمة الإرجاع
【4】 لا يتم تمرير معلمات الوظيفة في
【5】 باطلة (تعبير)
var i ؛ console.log (i) ؛ // undefinedvar o = {} ؛ console.log (op) ؛ // undefinedfunction f () {} ؛ console.log (f ()) ؛ // undefinedfunction f (x) {return x ؛} console.log (f ()) ؛【نوع التحويل】
Boolean (غير محدد): Falsenumber (غير محدد): Nanstring (غير محدد): "غير محدد"
باطل
هناك قيمة واحدة فقط لنوع فارغ ، وهو فارغ. NULL هي كلمة رئيسية في لغة JavaScript. إنه يمثل قيمة خاصة وغالبًا ما يتم استخدامه لوصف "القيمة الخالية".
منطقيا ، تمثل القيمة الفارغة مؤشر كائن فارغ
[ملاحظة] NULL هو مؤشر كائن فارغ ، في حين أن [] عبارة عن صفيف فارغ ، {} كائن فارغ ، والثلاثة مختلفين
console.log (typeof null) ؛ // "كائن"
على الرغم من أن الفارغ وغير المحددة مختلفة ، إلا أنهما يمثلان "فارغًا من القيمة" ، يمثل NULL "القيمة الخالية" ، ولا يمثل "غير محدد". غالبا ما يكون الاثنان قابلين للتبديل. مشغل المساواة القاضي == أعتقد أن الاثنين متساوان
console.log (null == undefined) ؛ // true
في الواقع ، نظرًا لأن غير المحددة والخارطة ليست أنواعًا مُنشئًا ، فليس لديهم أي خصائص وأساليب. استخدام . و [] للوصول إلى الأعضاء أو أساليب كلتا القيمتين سوف ينتج خطأ في النوع.
【نوع التحويل】
Boolean (NULL): Falsenumber (NULL): 0String (NULL): 'NULL'
المقالة أعلاه حول نظام نوع JavaScript - غير محدد و Null هو كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.