Avatar ·

كيفية التحقق بشكل صحيح من أن السلسلة فارغة أو null أو undefined في JavaScript؟

مرحبًا بالجميع! أنا مبتدئ في JavaScript وأكتب نموذج تسجيل بسيط. أحتاج إلى التحقق مما إذا كان المستخدم قد أدخل الاسم والبريد الإلكتروني وكلمة المرور. لكني دائمًا ما أخلط في التحقق وأحصل على نتائج غير متوقعة. إليك الكود الحالي الخاص بي: ```javascript let userName = document.getElementById('name').value; if (userName == '') { console.log('الاسم غير مملوء'); } else { console.log('مرحبًا، ' + userName); } ``` المشكلة هي أنه إذا لم يدخل المستخدم شيئًا، فإن `userName` يكون سلسلة فارغة `""`. لكن في بعض الأحيان أحصل على `null` أو `undefined` (على سبيل المثال، إذا كان العنصر غير موجود في الصفحة، أو إذا كنت أعمل مع API). حاولت الكتابة بهذا الشكل: ```javascript if (userName == null || userName == undefined || userName == '') { // ... } ``` لكن هذا يبدو ضخمًا وقبيحًا. بالإضافة إلى ذلك، سمعت أن هناك فرقًا بين `==` و `===`، وأن `null` و `undefined` يتصرفان بشكل مختلف. هناك أيضًا سلسلة فارغة، وسلسلة تحتوي على مسافات (`" "`) — هل تعتبر فارغة أم لا؟ أرجو المساعدة، من فضلكم.