ویرگول
ورودثبت نام
shaYan
shaYan
خواندن ۱ دقیقه·۲ سال پیش

تفاوت Object.is و === در جاوااسکریپت

کمبود عکس... ?
کمبود عکس... ?

اولش بزارین یه توضیحی درباره ی == و === و Object.is بدم و بگم که به طور کلی چیکار میکنن ؟

همه ی اینها که تهش براتون انجام میدن اینه که شما دوتا عبارت بهشون میدین و اینه به شما به صورت boolean میگن که این دو تا با هم برابرن یا نه ولی سطح حساسیت اینها با هم متفاوته و هرکدوم تا حدی میتونن دو تا عبارت رو با هم مقایسه کنن و یه خواص خاصی رو مورد برسی قرار میدن ?

و چون تو بیشتر دوره های جاوااسکریپت تفاوت == و === رو گفته من از این دو تا رو دیگه توضیح نمیدم.




Object.is() چیکار میکنه

همون طور که تو mdn هم کامل توضیح داده اینم مثل بقیه میاد میگه ایا این دو با هم برابرن یا نه ولی شروطش چیه :

  • هردو تعریف نشدن
  • هر دو خالی ان
  • هردو یا درستن یا غلط
  • هردو رشته ان و با یک طول و یه سری کارکتر و ترتیب کارکترن یکسان هستن
  • هردو شی یکی هستن (ایندکس و مقدار ها با هم برابرن)
  • هر دو تا Bigint اعداد یکی ای هستن
  • هر دو symbol به یک مقدار اشاره میکنند
  • هردو 0 یا NaN نیستن و دارای مقادیر برابر اند

و شروط خاصشون که اونا رو متمایز میکنه اینان:

  • هردو +0 یا هردو -0
  • هردو NaN هستن


که البته تو مقایسه ی اعداد هم کاربرد دارن ?


اینم بگم که:

سعی کردم خیلی خیلی کوتاه اما تقریبا کامل بگم چون خودم مقالات مقایسه ای که خیلی طولانیه رو دوس ندارمو و خسته میشم.

جاوااسکریپتمقایسهبرنامه نویسی
یه برنامه نویسِ 13 ساله که سال هاست هر روزشو با کامپیوتر میگذرونه
شاید از این پست‌ها خوشتان بیاید