#javascript #js_trick #object
* چرا باید از ()Object.is در مقایسه برابری استفاده کنید ؟ *
در جاوا اسکریپت از عملگر == برای مقایسه برابری دو مقدار استفاده میشود. با این حال، این عملگر به دلیل تبدیل خودکار نوع دادهها (coercion) میتواند نتایج غیرمنتظرهای را به همراه داشته باشد. برای مثال :
console.log(0 == ""); // true console.log(null == undefined); // true
در مقابل، === مقایسه برابری دقیق تری را انجام میدهد و به نوع دادهها توجه میکند. 👇
console.log(0 === ""); // false
console.log(null === undefined); // false
* حالا بریم بینیم متد Object.is دقیقا چیه ؟ 🤔 *
این متد یک روش جدید در جاوااسکریپت است که برای مقایسه برابری دقیق دو مقدار، مشابه === ، عمل میکند. با این تفاوت که Object.is در موارد خاص مانند مقایسه NaN، -0 و +0، نتایج دقیقتری ارائه میدهد.
* 💥 مثال عملی 👇 *
const a = NaN;
const b = 0 / 0;
console.log(a === b); // false
console.log(Object.is(a, b)); // true
در این قطعه کد دو متغیر به نامهای a و b تعریف میکنیم و هر دو را برابر با مقدار NaN قرار میدهیم. این مقدار ( NaN ) معمولاً زمانی ایجاد میشود که یک عملیات ریاضی منجر به نتیجهای نامعتبر شود، مانند تقسیم صفر بر صفر.
1مقایسه اول ( a ===b ) : این مقایسه از عملگر برابری دقیق (===) استفاده میکند که هم مقدار و هم نوع دادهای دو متغیر را بررسی میکند. در این مورد، هر دو متغیر مقدار NaN دارند اما === باز هم false را برمیگرداند. دلیل این اتفاق این است که در استاندارد IEEE 754 (استاندارد اعداد ممیز شناور)، NaN با خودش برابر نیست.
2 مقایسه دوم ( Object.is(a, b) ) : این مقایسه از متد Object.is استفاده میکند که برای مقایسه برابری دو مقدار طراحی شده است. این متد در بیشتر موارد مانند === عمل میکند، اما در مورد NaN رفتاری متفاوت دارد. Object.is تشخیص میدهد که هر دو متغیر مقدار NaN دارند و بنابراین true را برمیگرداند.
* ✅ مزایای استفاده از این متد چیه ؟ *
● دقت بیشتر : این متد در مقایسه با == و === دقت بیشتری در مقایسه برابری دارد 🚀
● خوانایی کد: استفاده از این متد کد شما را خواناتر و قابل فهمتر میکند ✅
● سازگاری با استانداردها: این متد بخشی از استاندارد های ECMAScript 2015 است و در اکثر مرورگرهای مدرن پشتیبانی میشود ⚡
Channel | YouTube | Instagram
🔥2🍌1
#javascript #js_trick #unary_operators
* عملگرهای یکانی (unary operators) در جاوااسکریپت *
این نوع از عملگر ها فقط بر روی یک عملوند ( یک مقدار یا متغیر ) عمل میکنند. به زبان ساده، عملگرهایی هستند که فقط یک ورودی دارند و کار خاصی رو بر روی آن انجام میدهند. ✅
این عملگرها عملیات مختلفی مانند افزایش/کاهش، ارزیابی نوع داده، منفی کردن یک مقدار و غیره را انجام میدهند ⚡
بریم چند موردش رو تو کد ببینیم 🚀
عملگر بیتی (~) : بیتهای یک عدد را معکوس میکند.
let x = 5; // در باینری: 0000000000000000000000000000010
x = ~x; // در باینری: 11111111111111111111111111111010
عملگر void : هر مقداری را نادیده میگیرد و undefined برمیگرداند
function exampleFunction() {
return 42; // این مقدار برگشتی تابع است
}
console.log(void exampleFunction()); // undefinedاگر دوست داشتید در مورد بقیه unary operator ها بدونید توی پست زیر به طور کامل بررسیشون کردیم 🔥
https://www.instagram.com/p/C-a5UK5swFQ
Channel | YouTube | Instagram
Telegram
𝗖𝗢𝗢𝗟𝗬 𝗖𝗢𝗗𝗘 | کولی کد
اینجا قراره برنامه نویسی رو خیلی ساده و با حال خوب یاد بگیریم 🚀
📺 𝗬𝗢𝗧𝗨𝗕𝗘 : https://rb.gy/37siuq
📷 𝗜𝗡𝗦𝗧𝗔𝗚𝗥𝗔𝗠 : https://rb.gy/jmz946
👥 𝗚𝗥𝗢𝗨𝗣 : @CoolyCoder
✅ 𝗔𝗗𝗦 : @ADS_CoolyCode
✌️ 𝗣𝗩 : @CoolyCode_Support
📺 𝗬𝗢𝗧𝗨𝗕𝗘 : https://rb.gy/37siuq
📷 𝗜𝗡𝗦𝗧𝗔𝗚𝗥𝗔𝗠 : https://rb.gy/jmz946
👥 𝗚𝗥𝗢𝗨𝗣 : @CoolyCoder
✅ 𝗔𝗗𝗦 : @ADS_CoolyCode
✌️ 𝗣𝗩 : @CoolyCode_Support
🔥1🥴1