隱式型別轉化
四則運算
- 加法
運算子+是雙目運算子,只要其中一個是String型別,運算式的值便是一個String,
eg:
var a = 2 + '3'// '23'
- 對于其他的四則運算,只有其中一個是Number型別,運算式的值便是一個Number,
eg:
var a = 3 - '2'// 1
- 對于非法字符的情況通常會回傳NaN:
'1' * 'a' // => NaN,這是因為parseInt(a)值為NaN,1 * NaN 還是 NaN
判斷陳述句
- 判斷陳述句中的判斷條件需要是Boolean型別,所以條件運算式會被隱式轉換為Boolean, 其轉換規則同Boolean的建構式,比如:
var obj = {};
if(obj){
dosomething...
}
JavaScript 原始型別轉換表
| 原始值 | 轉化為數值型別 | 轉化為字串型別 | 轉化為 Boolean 型別 |
|---|---|---|---|
| false | 0 | "false" | false |
| true | 1 | "true" | true |
| 0 | 0 | "0" | false |
| 1 | 1 | "1" | true |
| "0" | 0 | "0" | true |
| "1" | 1 | "1" | true |
| NaN | NaN | "NaN" | false |
| Infinity | Infinity | "Infinity" | true |
| -Infinity | -Infinity | "-Infinity" | true |
| "" | 0 | "" | false |
| "20" | 20 | "20" | true |
| "twenty" | NaN | "twenty" | true |
| [ ] | 0 | "" | true |
| [20] | 20 | "20" | true |
| [10,20] | NaN | "10,20" | true |
| ["twenty"] | NaN | "twenty" | true |
| ["ten","twenty"] | NaN | "ten,twenty" | true |
| function(){} | NaN | "function(){}" | true |
| { } | NaN | "[object Object]" | true |
| null | 0 | "null" | false |
| undefined | NaN | "undefined" | false |
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/239970.html
標籤:JavaScript
下一篇:node之path模塊
