JavaScript 隱式類型轉換

JavaScript 隱式類型轉換

原文:https://blog.csdn.net/itcast_cn/article/details/82887895 程序員

 

· 1.1 隱式轉換介紹面試

· 1.2 隱式轉換規則數組

· 1.3 坑一:字符串鏈接符與算術運算符隱式轉換規則混淆spa

· 1.4 坑二:關係運算符:會把其餘數據類型轉換成number以後再比較關係.net

· 1.5 坑三:複雜數據類型在隱式轉換時會先轉成String,而後再轉成Number運算3d

· 1.6-坑四:邏輯非隱式轉換與關係運算符隱式轉換搞混淆對象

 

1.1-隱式轉換介紹blog

· 在js中,當運算符在運算時,若是兩邊數據不統一,CPU就沒法計算,這時咱們編譯器會自動將運算符兩邊的數據作一個數據類型轉換,轉成同樣的數據類型再計算。ip

        o 這種無需程序員手動轉換,而由編譯器自動轉換的方式就稱爲隱式轉換字符串

· 例如1 > "0"這行代碼在js中並不會報錯,編譯器在運算符時會先把右邊的"0"轉成數字0`而後在比較大小

 

1.2-隱式轉換規則

1. 轉成string類型: +(字符串鏈接符)

2. 轉成number類型:++/--(自增自減運算符) + - * / %(算術運算符) > < >= <= == != === !=== (關係運算符)

3. 轉成boolean類型:!(邏輯非運算符)

 

1.3-坑一:字符串鏈接符與算術運算符隱式轉換規則混淆

· 常見面試題以下

· 原理分析

 

1.4-坑二:關係運算符:會把其餘數據類型轉換成number以後再比較關係

常見面試題以下

· 原理分析

 

1.5-坑三:複雜數據類型在隱式轉換時會先轉成String,而後再轉成Number運算

 

· 原理分析

 

1.6-坑四:邏輯非隱式轉換與關係運算符隱式轉換搞混淆

· 前方高能,請注意~

o 空數組的toString()方法會獲得空字符串,而空對象的toString()方法會獲得字符串`[object Object]` (注意第一個小寫o,第二個大寫O喲)

· 常見面試題

 

· 原理分析

 

 

 

附:JavaScript 真值表

在日常的習慣中,咱們應該儘量的使用 === 而不是 ==。同時,能夠選擇使用 typeof 或者 ts 來避免強制類型轉換的錯誤。

 

============== End

相關文章
相關標籤/搜索