كما نعلم، جافا سكريبت هي لغة مكتوبة ديناميكيًا، والتي يمكن أن تربكنا أحيانًا عند التعامل مع قيم فارغة أو غير موجودة. في منشور المدونة هذا، سنستكشف الاختلافات بين السلاسل الفارغة وغير المحددة والفارغة والمصفوفات الفارغة في JavaScript، مع أمثلة التعليمات البرمجية لتوضيح كل مفهوم.
null هي قيمة غير متعمدة. إنه يمثل متغيرًا تم تعريفه بشكل صريح على أنه لا قيمة له.
let myVariable = null; console.log(myVariable); // Output: null console.log(typeof myVariable); // Output: "object"
ملاحظة: typeof null يُرجع كائنًا، وهو ميزة معروفة في JavaScript لأسباب قديمة.
يمثل غير محدد متغيرًا تم الإعلان عنه ولكن لم يتم تعيين قيمة له بعد.
let myUndefinedVariable; console.log(myUndefinedVariable); // Output: undefined console.log(typeof myUndefinedVariable); // Output: "undefined" function myFunction(param) { console.log(param); } myFunction(); // Output: undefined
السلسلة الفارغة هي سلسلة صالحة بطول صفر.
let emptyString = ''; console.log(emptyString); // Output: "" console.log(typeof emptyString); // Output: "string" console.log(emptyString.length); // Output: 0
المصفوفة الفارغة هي قائمة لا تحتوي على عناصر.
let emptyArray = []; console.log(emptyArray); // Output: [] console.log(typeof emptyArray); // Output: "object" console.log(Array.isArray(emptyArray)); // Output: true console.log(emptyArray.length); // Output: 0
دعونا نقارن هذه الأنواع المختلفة:
console.log(null == undefined); // Output: true console.log(null === undefined); // Output: false console.log('' == null); // Output: false console.log('' == undefined); // Output: false console.log([] == null); // Output: false console.log([] == undefined); // Output: false console.log(Boolean(null)); // Output: false console.log(Boolean(undefined)); // Output: false console.log(Boolean('')); // Output: false console.log(Boolean([])); // Output: true
function isNullOrUndefined(value) { return value == null; } console.log(isNullOrUndefined(null)); // Output: true console.log(isNullOrUndefined(undefined)); // Output: true console.log(isNullOrUndefined('')); // Output: false console.log(isNullOrUndefined([])); // Output: false
function isEmpty(value) { if (typeof value === 'string') { return value.length === 0; } if (Array.isArray(value)) { return value.length === 0; } return false; } console.log(isEmpty('')); // Output: true console.log(isEmpty([])); // Output: true console.log(isEmpty('hello')); // Output: false console.log(isEmpty([1, 2, 3])); // Output: false
يعد فهم الاختلافات بين السلاسل الفارغة وغير المحددة والفارغة والمصفوفات الفارغة أمرًا ضروريًا لكتابة تعليمات برمجية JavaScript نظيفة وخالية من الأخطاء. لكل منها حالات الاستخدام الخاصة به ويتصرف بشكل مختلف في المقارنات والتحقق من النوع. باستخدام هذه القيم بشكل صحيح ومعرفة الفروق الدقيقة فيها، يمكنك كتابة تطبيقات JavaScript أكثر قوة وقابلة للصيانة.
تذكر دائمًا أن تأخذ في الاعتبار سياق تطبيقك عند تحديد أي منها ستستخدمه، وأن تكون متسقًا في نهجك عبر قاعدة التعليمات البرمجية الخاصة بك.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3