عملگر Nullish Coalescing (??) - آزمون آنلاین جاوااسکریپت
آزمون عملگر Nullish Coalescing (??) در جاوااسکریپت
این یه کوییز در مورد عملگر Nullish Coalescing (??) در جاوااسکریپت هست که قراره با هم یاد بگیریم این اپراتور چقدر کاربردیه و چطوری میتونه کدهامون رو تمیزتر و خواناتر کنه.
این اپراتور ممکنه خیلی به چشم نیاد، اما وقتی باهاش آشنا بشی، متوجه میشی که چقدر میتونه توی مدیریت مقادیر تهی یا نامعلوم، کارهات رو راحتتر کنه.

nullish coalescing چیست و کجا به کارمون میاد؟
عملگر nullish coalescing که با علامت دوتا علامت سوال ?? نشون داده میشه، یکی از اپراتورهای جدید و کاربردی در جاوااسکریپته.
این اپراتور یک راه امن برای مدیریت مقادیر پیشفرض هست، البته فقط وقتی که مقدار اصلی null یا undefined باشه. برخلاف عملگر OR (||) که مقادیر falsey رو (مثل 0، '' و false) هم نادیده میگیره، ?? فقط سراغ مقادیر null و undefined میره. این یعنی اگر مقدار اول 0 یا '' یا false باشه، همون رو برمیگردونه و به مقدار دوم نگاه نمیکنه.
میتونم بگم که با انجام این آزمون، تو میتونی میزان مهارت و تسلط خودت رو درباره nullish coalescing بسنجی و همزمان کلی نکته مفید و اطلاعات جدید در مورد این عملگر به دست بیاری.
این کوییز بهت کمک میکنه که تفاوتهاش با عملگرهای دیگه مثل || رو بهتر بفهمی و بدونی در چه شرایطی باید ازش استفاده کنی.
تیم طراحی آزمونهای سایت پاموه، این کوییز رو به صورت اختصاصی آماده کرده تا مطمئن بشی که همه چیز رو کامل یاد میگیری.
موارد استفاده و مثالهای کاربردی
عملگر ?? در سناریوهای مختلفی به کمکمون میاد. مثلا وقتی میخوایم برای یک متغیر که ممکنه مقدارش null یا undefined باشه، یک مقدار پیشفرض تعیین کنیم.
const user = {
name: 'Ali',
age: null
};
const userName = user.name ?? 'Guest'; // 'Ali'
const userAge = user.age ?? 25; // 25
const userAddress = user.address ?? 'Unknown'; // 'Unknown'
// مقایسه با OR (||)
const emptyString = '' || 'default value'; // 'default value'
const zeroNumber = 0 || 'default value'; // 'default value'
همونطور که توی کد بالا میبینی، وقتی از || استفاده میکنیم، رشته خالی و عدد صفر رو هم به عنوان مقدار 'فالس' در نظر میگیره و مقدار پیشفرض رو برمیگردونه، در حالی که ?? اینطور نیست.
سوالات این آزمون در مورد عملگر Nullish Coalescing هستن. مثلاً ممکنه یکی از سوالات این باشه که «نتیجه کد let value = 0 ?? 'default'; چیست؟» یا «تفاوت اصلی عملگرهای ?? و || در چه حالاتی نمایان میشه؟».
بعد از شرکت در این آزمون، تو متوجه میشی که چطور با مقادیر null و undefined به درستی برخورد کنی و از خطاهای احتمالی جلوگیری کنی.
جدول مقایسه ای بین ?? و ||
برای اینکه تفاوت این دو اپراتور رو بهتر درک کنی، این جدول رو ببین:
| عملگر | مقادیر نادیده گرفته شده | مثال |
|---|---|---|
?? |
null و undefined |
let result = 0 ?? 10;نتیجه: 0 |
|| |
null, undefined, 0, '', false, NaN |
let result = 0 || 10;نتیجه: 10 |
همینطور که میبینی، عملگر ?? خیلی دقیقتر عمل میکنه و فقط زمانی به مقدار دومش نگاه میکنه که مقدار اول واقعا "تهی" باشه.
خب، حالا که یه دید کلی در مورد این عملگر بهت دادم، وقتشه که خودت رو محک بزنی. این آزمون بهترین فرصته که هم یاد بگیری و هم دانشت رو بسنجی. پس روی دکمه شروع کلیک کن و ببین چقدر در مورد عملگر Nullish Coalescing میدونی.