1. 程式人生 > 實用技巧 >【詳解】JavaScript面試題大坑:隱式型別轉換!

【詳解】JavaScript面試題大坑:隱式型別轉換!

黑馬程式設計師視訊庫

播妞微訊號:heiniu526

傳智播客旗下網際網路資訊、學習資源免費分享平臺

隱式轉換介紹

在js中,當運算子在運算時,如果兩邊資料不統一,CPU就無法計算,這時我們編譯器會自動將運算子兩邊的資料做一個數據型別轉換,轉成一樣的資料型別再計算。這種無需程式設計師手動轉換,而由編譯器自動轉換的方式就稱為隱式轉換。

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

隱式轉換規則

1. 轉成string型別:+(字串連線符) 2..轉成number型別:++/--(自增自減運算子) + - * / %(算術運算子) > < >= <= == != === !=== (關係運算符)

2. 轉成boolean型別:!(邏輯非運算子)

坑一:字串連線符與算術運算子隱式轉換規則混淆

常見面試題如下:

原理分析

坑二:關係運算符:會把其他資料型別轉換成number之後再比較關係

常見面試題如下:


原理分析:

坑三:複雜資料型別在隱式轉換時會先轉成String,然後再轉成Number運算

原理分析:

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

前方高能,請注意~

空陣列的toString()方法會得到空字串,而空物件的toString()方法會得到字串`[object Object]` (注意第一個小寫o,第二個大寫O喲)。

常見面試題:

原理分析:

大家學會了嗎?

關注黑馬程式設計師視訊庫

更多知識在等你

END

重磅!華為鴻蒙OS 2.0 釋出,開放原始碼!關注已達4.7k

2020-09-11

諸神歸位!《姜子牙》定檔!超唯美設計背後這群人有多牛?

2020-09-14

美女反追程式大佬,卻因性別歧視只能女扮男裝進公司....

2020-08-29


點選“在看” 為播妞加雞腿