1.返回數據類型
undefined
string
boolean
number
symbol(ES6)
Object
Function
2.強制類型轉換
Number(參數)把任何類型轉換成數值類型
parseInt(參數1,參數2)將字符串轉換成整數
parseFloat()將字符串轉換成浮點數字
string(參數):可以將任何類型轉換成字符串
Boolean()可以將任何類型的值轉換成布爾值
3.隱式類型轉換
(1).四則運算
加法運算符+是雙目運算符,只要其中一個是string類型,表達式的值便是一個String。
對於其他的四則運算,只有其中一個是Number類型,表達式的便是一個Number。
對於非法字符的情況通常會返回NaN:'1'*'a' // => NaN,這是因為parseInt(a)值為NaN,1*NaN還是NaN
(2).判斷語句
判斷語句中的判斷條件需要是 Boolean類型,所以條件表達式會被隱式轉換為Boolean。其轉換規則則同Boolean的構造函數。比如:
var obj = {};if(obj){
while(obj);
}
(3).Native代碼調用
JavaScript宿主環境都會提供大量的對象,它們往往不少通過JavaScript來實現的。JavaScript給這些函數傳入的參數也會進行隱式轉換。例如BOM提供的alert方法接受String類型的參數:alert({a:1}); //=>[object Object]