JS - Nullish Coalescing
JavaScript - Nullish Coalescing (??)
🔸 المعامل ?? يُستخدم لإرجاع القيمة الأولى غير null أو undefined.
يُعتبر بديلًا آمنًا للمعامل || عندما لا تريد اعتبار القيم مثل 0 أو "" أو false كـ "فارغة".
🔹 الصيغة العامة
let result = value1 ?? value2;
📌 إذا كانت value1 لا تساوي null أو undefined، تُعاد هي.
وإلا تُعاد value2.
🧪 أمثلة توضيحية
let username = null;
let defaultName = "زائر";
let nameToShow = username ?? defaultName;
console.log(nameToShow); // "زائر"
let count = 0;
let finalCount = count ?? 10;
console.log(finalCount); // 0 ✅ (لم يتم تجاهله لأنه ليس null أو undefined)
📌 بخلاف ||، المعامل ?? لا يعتبر القيم 0 أو "" أو false كقيم فارغة.
🔹 الفرق بين || و ??
null || "default" // "default"
null ?? "default" // "default"
0 || 100 // 100 ❌
0 ?? 100 // 0 ✅
"" || "text" // "text" ❌
"" ?? "text" // "" ✅
---
⚠️ ملاحظات مهمة
- تم تقديم
??في ECMAScript 2020 (ES11). - يُستخدم لتوفير قيمة افتراضية فقط إذا كانت القيمة الأساسية
nullأوundefined. - لا يُمكن استخدامه مباشرة مع
||أو&&بدون أقواس.
تعليقات
إرسال تعليق