من میدانم که هیچ نمیدانم.
اتصال کوتاه (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:
مطلبی دیگر از این انتشارات
ضرب اولین بلیط NFT فوتبال؛ بایننس بلیط مسابقات باشگاه لاتزیو ایتالیا را با فناوری NFT به فروش میرساند!
مطلبی دیگر از این انتشارات
شهرهای هوشمند آینده: ساختمانهای هوشمند - بخش دوم
مطلبی دیگر از این انتشارات
متاورس بلاکتوپیا، آسمان خراش متاورسی