ویرگول
ورودثبت نام
Hossein Shahmohammadi
Hossein Shahmohammadiمن می‌دانم که هیچ نمی‌دانم.
Hossein Shahmohammadi
Hossein Shahmohammadi
خواندن ۲ دقیقه·۴ سال پیش

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

یکی از عملگرهای پر کاربرد در زبان‌های برنامه‌نویسی عملگرهای تساوی است. در زبان جاوااسکریپت دو عملگر == و === برای بررسی تساوی دو متغیرها استفاده می‌شود این دو عملگر تفاوت‌هایی جزئی دارند که در صورت عدم توجه به آن‌ها می‌تواند موجب بروز اشکال در کدها شود.

بحث از اونجایی شروع میشه که ما انواع مختلفی از دیتا رو میتونیم داشته باشیم مثل string, boolean, number , NaN , array, null و غیره یک زمانی هست شما براتون مهم نیست که نوع دیتایی که دارید با دیتای دیگه مقایسه میکنید چی هست و فقط براتون مهمه که این دو باهم برابر باشن؛ مثلا براتون فرقی نمیکنه 5 با "5" که پنج دومی درواقع یک string هست از چه نوعی هست و فقط مهمه که اینها اندازه ی برابری داشته باشن، تو این مورد ما از دو مساوی (==) استفاده میکنیم ولی اگر زمانی برای ما مهم بود که مثلا هر دو از نوع number باشن و نوع دیتا برامون اهمیت داشته باشه از (===) استفاده میکنیم.

عملگر ===

این عملگر دو متغیر را از دو بعد نوع و مقدار با هم مقایسه می کند اگر نوع و مقدار متغیرها دو طرف عملگر یکسان باشد مقدار true را بر می گرداند. مثال های زیر همه مقدار true می گیرند

5 === 5 // true 'hello world' === 'hello world' // true (Both Strings, equal values) true === true // true (Both Booleans, equal values)

اما مثال زیر مقدار false می گیرد زیر دو عملوند از لحاظ نوع همسان نیستند.

77 === '77'


عملگر ==

بر خلاف عملگر ===، عملگر == صرفا مقادیر دو متغییر را با هم مقایسه کرده در صورتی که مقادیر برابر باشد مقدار true بر می گرداند. در صورتی که دو متغیر از یک نوع نباشند ابتدا تبدیل نوع انجام می شود سپس مقایسه صورت می گیرد. این تبدیل ها می تواند موجب بروز مشکل شود مثال موارد زیر پس از تبدیل نوع برابر می شوند:

false, 0, and ""

و

null and undefined

در نتیجه مقایسه های زیر برابر true خواهد شد که لازم است دقت کنیم:

false == 0// true 0 == "" // true "" == false // true NaN == null // false NaN == undefined // false NaN == NaN // false


زبان‌های برنامه‌نویسیجاوااسکریپتjavascript
۴
۰
Hossein Shahmohammadi
Hossein Shahmohammadi
من می‌دانم که هیچ نمی‌دانم.
جامعه سالیدیتی ایران
جامعه سالیدیتی ایران
هدف از ایجاد این انتشارات کنارهم جمع کردن و آشنا شدن با علاقه مندان تکنولوژی بلاک چین و همچنین توسعه دهندگان سالیدیتی در ایران است. -------------------- در کانال تلگرامی به ما بپیوندید t.me/ir_solidity ---------------------- صفحه من در ویرگول : https://virgool.io/@HShah
شاید از این پست‌ها خوشتان بیاید