欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript/TypeScript中==和===的區(qū)別詳解

 更新時間:2022年03月15日 12:00:18   作者:gentle_zhou  
這篇文章主要給大家介紹了關(guān)于JavaScript/TypeScript中==和===區(qū)別的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

在JS/TS項目里,除了能看到==操作符來判斷兩個變量是否相等外,我們還會看到===操作符,這兩者有什么區(qū)別嗎?

先上結(jié)論,

  • 對于String, number這些基礎(chǔ)類型,==操作符會先把兩邊的變量進行類型強制轉(zhuǎn)換成相同的類型再比較是否相等;===操作符則不會進行類型轉(zhuǎn)換,而是直接進行比較。
  • 對于array, object這些高級類型,==和 ===是沒有區(qū)別的,因為它們比較的是 “指針地址” 。
  • 對于基礎(chǔ)類型和高級類型,== 和 ===是有區(qū)別的;==操作符會先把高級類型轉(zhuǎn)換為基礎(chǔ)類型之后,進行值的比較;===操作符則不會進行轉(zhuǎn)換,類型不同,直接返回false

也就是說,`==`操作符只要求比較兩個變量的值是否相等,`===`操作符則是要求兩個變量的值和類型都要相同;類似地,`!=`操作符會去做類型強制轉(zhuǎn)換,`!==`操作符則不會轉(zhuǎn)換類型。

我們寫個基礎(chǔ)類型變量的代碼示例一下:

66 ==  '66'; // 返回true
66 === '66' // 返回false

==操作符會把第一行里的字符串轉(zhuǎn)換成數(shù)字,與66再進行比較,值相等,于是返回true;===操作符則不會做類型轉(zhuǎn)換,因為左邊數(shù)字,右邊字符串,兩者類型不同,就會返回false。

注意對于特殊值NaN(Not a Number),表示非數(shù)字,NaN和任何數(shù)(包括它自己)做相等比較,都會返回false,所以判斷NaN最好用isNaN()函數(shù);
而對于undefined和null,兩者的值相比較,會返回true。

代碼示例如下:

NaN == 6; // 返回false
NaN === NaN; // 返回false
null == undefined; // 返回true
null === undefined; // 返回false

最后, 由于==和!=操作符帶來的類型隱式轉(zhuǎn)換規(guī)則非常繁瑣,還有為了避免數(shù)據(jù)類型混淆導(dǎo)致出現(xiàn)bug,還是推薦使用===操作符和!==操作符。

js在比較的時候如果是 == 會先做類型轉(zhuǎn)換,再判斷值得大小,如果是===類型和值必須都相等。

總結(jié)

到此這篇關(guān)于 JavaScript/TypeScript中==和===區(qū)別的文章就介紹到這了,更多相關(guān) js/ts中==和===的區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • js實現(xiàn)彈框效果

    js實現(xiàn)彈框效果

    這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)彈框效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • Enter轉(zhuǎn)換為Tab的小例子(兼容IE,Firefox)

    Enter轉(zhuǎn)換為Tab的小例子(兼容IE,Firefox)

    這篇文章介紹了Enter轉(zhuǎn)換為Tab的小例子(兼容IE,Firefox),有需要的朋友可以參考一下
    2013-11-11
  • JavaScript數(shù)組方法的錯誤使用例子

    JavaScript數(shù)組方法的錯誤使用例子

    在本篇文章中我們給大家分享了幾種使用JavaScript數(shù)組容易出錯的例子,需要的朋友們可以參考下。
    2018-09-09
  • 淺談bootstrap源碼分析之tab(選項卡)

    淺談bootstrap源碼分析之tab(選項卡)

    下面小編就為大家?guī)硪黄獪\談bootstrap源碼分析之tab(選項卡)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • JS實現(xiàn)完全語義化的網(wǎng)頁選項卡效果代碼

    JS實現(xiàn)完全語義化的網(wǎng)頁選項卡效果代碼

    這篇文章主要介紹了JS實現(xiàn)完全語義化的網(wǎng)頁選項卡效果代碼,可實現(xiàn)基于鼠標(biāo)滑過及點擊的選項卡切換效果,非常具有實用價值,需要的朋友可以參考下
    2015-09-09
  • JavaScript canvas實現(xiàn)九宮格切圖效果

    JavaScript canvas實現(xiàn)九宮格切圖效果

    這篇文章主要為大家詳細(xì)介紹了JavaScript canvas實現(xiàn)九宮格切圖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • JavaScript的11個小技巧整理

    JavaScript的11個小技巧整理

    這篇文章介紹了JavaScript的11個小技巧,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • JS動態(tài)修改iframe內(nèi)嵌網(wǎng)頁地址的方法

    JS動態(tài)修改iframe內(nèi)嵌網(wǎng)頁地址的方法

    這篇文章主要介紹了JS動態(tài)修改iframe內(nèi)嵌網(wǎng)頁地址的方法,涉及javascript動態(tài)修改iframe中src屬性的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • js將類數(shù)組對象轉(zhuǎn)換成數(shù)組對象

    js將類數(shù)組對象轉(zhuǎn)換成數(shù)組對象

    javascript與dom有許多瑕疵,如著名的類數(shù)組對象Arguments,其他諸如HTMLCollection,NodeList如果它們都是數(shù)組的子類,那多省時啊。
    2010-05-05
  • 淺析tr的隱藏和顯示問題

    淺析tr的隱藏和顯示問題

    本篇文章主要是對tr的隱藏和顯示問題進行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-03-03

最新評論