21
0

دارم از JSLint برای بررسی جاوا اسکریپت استفاده می‌کنم و پیشنهادات زیادی برام میاره که == (دو تا علامت مساوی) رو با === (سه تا علامت مساوی) عوض کنم، مثلاً وقتی دارم چیزی مثل idSele_UNVEHtype.value.length == 0 رو توی یه شرط if مقایسه می‌کنم.

آیا استفاده از === به جای == بهبودی در عملکرد به همراه داره؟

0
پاسخ کاربردی

استفاده از اپراتور == (برابری)

true == 1; //true, چون ترو به یک تبدیل میشه
"2" == 2;  //true, چون رشته دو به عدد دو تبدیل میشه

استفاده از اپراتور === (ماهیت)

true === 1; //false
"2" === 2;  //false

این به خاطر اینه که اپراتور برابری == تبدیل نوع رو انجام می‌ده، یعنی مفسر به‌طور ضمنی تلاش می‌کنه که مقادیر رو قبل از مقایسه تبدیل کنه.

از طرف دیگه، اپراتور هویت === تبدیل نوع رو انجام نمی‌ده و بنابراین مقادیر رو هنگام مقایسه تبدیل نمی‌کنه.

ارسال پاسخ به سوال بالا

برای ارسال پاسخ باید وارد اکانتت بشی

اگر پاسخت شامل تکه کدی میشه، از منوی ویرایشگر پایین، تکه کدی که نوشتی رو انتخاب کن و بعد از طریق زبان کدی که نوشتی رو انتخاب کن تا کدت داخل بلاک مخصوص زبان خودش قرار بگیره و کدت خواناتر برای بقیه نشون داده بشه

اگه پاسخت رفرنسی داره، لینک رفرنس رو هم بذار تا پاسختت کاملتر و معتبر تر بشه