من میدانم که هیچ نمیدانم.
اتصال کوتاه (Short Circuiting) با عملگر منطقی Nullish coalescing (??) در جاوااسکریپت
این عملگر (نالیش کُولِسینگ) که به صورت دو علامت سوال کنار هم ??
هست، وقتی بین دو مقدار قرار بگیره، اولین مقداری رو برمیگردونه که null
یا undefined
نباشه. در مقایسه با عملگر Logical OR، برای این عملگر فقط null
یا undefined
بودن مقدارها مهم هست، نه falsy بودن اونها:
0 ?? "Hello" // 0
false ?? "Hello" // false
"" ?? "Hello" // ""
null ?? "Hello" // "Hello"
undefined ?? "Hello" // "Hello"
برای سه مورد اول، اگه از عملگر Logical OR استفاده میکردیم، مقدارهای سمت راست درنظر گرفته میشد.
عملگر Logical Nullish Assignment
این عملگر به شکل ??=
هست و برای نسبتدادن مقدار به یک متغیر استفاده میشه.
اگر کدی داریم به صورت زیر:
let x = null;
if (x === null || x === undefined) {
x = 12;
}
میتونیم اون رو به این صورت بنویسیم:
let x = null;
x ??= 12;
alert(x); // 12
کد بالا تنها زمانی مقدار 12 رو به x
نسبت میده که x
یک مقدار nullish باشه (یعنی null
یا undefined
). به بیان کلیتر، عملیاتِ نسبت دادن به عبارت سمت چپ زمانی انجام میگیره که عبارت سمت چپ null
یا undefined
باشه.
Resources:
مطلبی دیگر از این انتشارات
چند راهکار برای افزایش درآمد از طریق پرداخت درونبرنامهای
مطلبی دیگر از این انتشارات
معرفی سه ارزدیجیتال برتر که در اکتبر ۲۰۲۱ راهاندازی شدند!
مطلبی دیگر از این انتشارات
اتریوم جایگاه بیت کوین را می گیرد؟