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.
  • لا يُمكن استخدامه مباشرة مع || أو && بدون أقواس.

تعليقات

المشاركات الشائعة من هذه المدونة

HTML - Text Formatting تنسيقات النص

1.1 SQL Introduction

Entity Framework - مقدمة عن Entity Framework