21
1
0
دارم از JSLint برای بررسی جاوا اسکریپت استفاده میکنم و پیشنهادات زیادی برام میاره که == (دو تا علامت مساوی) رو با === (سه تا علامت مساوی) عوض کنم، مثلاً وقتی دارم چیزی مثل idSele_UNVEHtype.value.length == 0 رو توی یه شرط if مقایسه میکنم.
آیا استفاده از === به جای == بهبودی در عملکرد به همراه داره؟
1
0
پاسخ کاربردی
استفاده از اپراتور == (برابری)
true == 1; //true, چون ترو به یک تبدیل میشه
"2" == 2; //true, چون رشته دو به عدد دو تبدیل میشه
استفاده از اپراتور === (ماهیت)
true === 1; //false
"2" === 2; //false
این به خاطر اینه که اپراتور برابری == تبدیل نوع رو انجام میده، یعنی مفسر بهطور ضمنی تلاش میکنه که مقادیر رو قبل از مقایسه تبدیل کنه.
از طرف دیگه، اپراتور هویت === تبدیل نوع رو انجام نمیده و بنابراین مقادیر رو هنگام مقایسه تبدیل نمیکنه.
ارسال پاسخ به سوال بالا