JavaScript סימן משולש משולש לעומת סימן כפול שווה - מפעילי השוואה מוסברים בדוגמאות

יכול להיות שראיתם סימנים שווים כפול ומשולש ב- JavaScript. אבל למה הם מתכוונים?

ובכן בקיצור: ==מטבעו ממיר סוג ===ואינו ממיר סוג.

כפול שווה ( ==) בודק שוויון ערכי בלבד. מטבע הדברים זה עושה כפייה מסוג. פירוש הדבר שלפני בדיקת הערכים הוא ממיר את סוגי המשתנים כך שיתאימו זה לזה.

מצד שני, משולש משולש ( ===) אינו מבצע כפיית סוג. זה יוודא אם המשתנים המושווים הם בעלי אותו ערך וגם אותו סוג.

בסדר - אז בואו נעזור לכם להבין טוב יותר את ההבדל באמצעות כמה דוגמאות. עבור כל אחד מאלה, שקול מה תהיה תפוקת ההצהרות הללו.

דוגמה 1:

const foo = "test" const bar = "test" console.log(foo == bar) //true console.log(foo === bar) //true 

הערך ואת הסוג של שניהם fooלבין barהוא זהה. לכן התוצאה היא trueלשניהם.

דוגמה 2: ‌

const number = 1234 const stringNumber = '1234' console.log(number == stringNumber) //true console.log(number === stringNumber) //false 

השווי numberו stringNumberנראה דומה כאן. עם זאת, סוג numberהוא Numberוסוג stringNumberהוא string. למרות שהערכים זהים, הסוג אינו זהה. ומכאן ==מחזיר המחאה true, אך כאשר בדקו עבור הערך ואת סוג, הערך הוא false.

דוגמה 3:

console.log(0 == false) //true console.log(0 === false) //false 

סיבה: אותו ערך, סוג אחר. הקלידו כפייה

זה מקרה מעניין. הערך של 0כאשר מסמנים falseאותו זהה. זה כל כך בגלל 0ו falseיש אותו ערך עבור JavaScript, אך כאשר בודקים את סוג ואת הערך, הערך הוא כי שקר 0הוא numberו falseהוא boolean.

דוגמה 4:

const str = "" console.log(str == false) //true console.log(str === false) //false

הערך של מחרוזת ריקה וזהה falseב- JavaScript. לפיכך, ==מחזיר נכון. עם זאת, הסוג שונה ומכאן ===מחזיר שקר.

מתי כדאי להשתמש ==ומתי כדאי להשתמש ===?

במקרה של ספק, השתמש ===. זה יחסוך ממך המון באגים פוטנציאליים.

אם אתה תומך במקרה שימוש בו אתה יכול להקל מעט על סוג הנתונים הנכנסים, השתמש בו ==. לדוגמא, אם ממשק API מקבל את הלקוח "true"וגם trueאת הלקוח, השתמש בו ==. בקיצור, אל תשתמש ==אלא אם כן יש לך מקרה שימוש חזק לכך.

הנה טבלת אמת JavaScript שימושית לעיונך וכדי להראות לך עד כמה השוויון מורכב ב- JavaScript:

אם נהנית ממאמר זה, הקפד לעקוב אחרי בטוויטר לקבלת עדכונים.

ש: כמה מקום ישתחרר עם עזיבת בריטניה את האיחוד האירופי?

.

.

.

ת: 1 GB # DevJoke #NotAJoke

- שרוטי קאפור (@ shrutikapoor08) 4 באוקטובר 2019