js Nullish Coalescing
در جاوااسکریپت، عملگر (??) Nullish Coalescing  برای تعیین مقدار پیشفرض زمانی استفاده میشود که مقدار سمت چپ null یا undefined باشد.
این عملگر شبیه عملگر || است، اما تفاوت مهمی دارد که فقط در صورت null یا undefined بودن عمل میکند، نه هر مقدار falsy.
🔹 مثال ساده
const name = null;
const userName = name ?? "کاربر مهمان";
console.log(userName);
📌 خروجی:
کاربر مهمان
در این مثال، چون مقدار name برابر null است، مقدار "کاربر مهمان" جایگزین آن میشود.
🔹 تفاوت با عملگر OR (||)
عملگر || هر مقداری را که falsy باشد (مثل 0، ""، false، null، undefined) بررسی میکند،
اما ?? فقط برای null و undefined عمل میکند.
const count1 = 0 || 10;
const count2 = 0 ?? 10;
console.log(count1);
console.log(count2);
📌 خروجی:
10
0
✅ در ||، عدد صفر falsy است و مقدار 10 جایگزین میشود.
اما در ??، چون صفر null یا undefined نیست، همان 0 حفظ میشود.
🔹 استفاده در متغیرهای چندگانه
const a = null;
const b = undefined;
const c = "Hello";
const result = a ?? b ?? c;
console.log(result);
📌 خروجی:
Hello
عملگر ?? از چپ به راست حرکت میکند و اولین مقدار غیر null و غیر undefined را برمیگرداند.
🔹 ترکیب با Optional Chaining (?.)
این دو معمولاً با هم استفاده میشوند تا کد ایمن و خوانا باشد:
const user = {};
console.log(user.profile?.name ?? "نامشخص");
📌 خروجی:
نامشخص
در اینجا اگر user.profile وجود نداشته باشد یا name تعریف نشده باشد، مقدار "نامشخص" نمایش داده میشود.
✅ نکته:
- 
عملگر ??فقطnullوundefinedرا چک میکند.
- 
برای مقادیر falsy مثل 0،falseیا""از||استفاده نکنید اگر میخواهید این مقادیر معتبر باقی بمانند.
- 
از نسخه ES2020 به بعد در تمام مرورگرهای مدرن پشتیبانی میشود. 
 CSS3
          CSS3
        
                
           HTML
          HTML
        
                
           Tailwind Css
          Tailwind Css
        
                
           Bootstrap 5
          Bootstrap 5
        
                
           Java script
          Java script
        
                
           ++C
          ++C
        
                
           Python
          Python
        
                
           Three.js
          Three.js
        
                
           Gsap
          Gsap
        
                
           Sass
          Sass
        
                
           SQL
          SQL
        
                
           React
          React