JavaScript 隱性型別轉換步驟淺析

前端攻城小牛發表於2018-12-27

隱性型別轉換,是==引起的轉換,下面通過本文給大家分享JavaScript 隱性型別轉換步驟,寫的十分的全面細緻,具有一定的參考價值,對此有需要的朋友可以參考學習下。如有不足之處,歡迎批評指正。

JavaScript 隱性型別轉換步驟淺析

這裡說的隱性型別轉換,是==引起的轉換。

  • 如果存在NaN,一律返回false
  • 再看有沒有布林,有布林就將布林轉換為數字
  • 接著看有沒有字串, 有三種情況,對方是物件,物件使用toString進行轉換;對方是數字,字串轉數字;* 對方是字串,直接比較;其他返回false
  • 如果是數字,對方是物件,物件取valueOf進行比較, 其他一律返回false
  • null, undefined不會進行型別轉換, 但它們倆相等
  • 這個順序一定要死記,這是面試時經常問到的。

下面是一些雜題,自己做做

0 == undefined
1 == true
2 == {valueOf: function(){return 2}}
NaN == NaN
 8 == undefined
1 == undefined
 null == {toString: function(){return 2}}
 0 == null
 null == 1
 { toString:function(){ return 1 } , valueOf:function(){ return [] }} == 1
//歡迎加入前端全棧開發交流圈一起吹水聊天學習交流:864305860
複製程式碼

結語

感謝您的觀看,如有不足之處,歡迎批評指正。

本次給大家推薦一個免費的學習群,裡面概括移動應用網站開發,css,html,webpack,vue node angular以及面試資源等。 對web開發技術感興趣的同學,歡迎加入Q群:864305860,不管你是小白還是大牛我都歡迎,還有大牛整理的一套高效率學習路線和教程與您免費分享,同時每天更新視訊資料。 最後,祝大家早日學有所成,拿到滿意offer,快速升職加薪,走上人生巔峰。

相關文章