JS資料型別轉換規則
JS資料型別
基礎型別
String
Boolean
Number
Symbol
Undefine
Null(typeof(null) === "object")
複合型別: 物件
Object(Array, Json)
顯示型別轉換
Number的原始型別轉換規則
數值轉換後還是數值
字串如果可以解析為數值則為數值, 空字串為0, 無法解析的字串為NaN
布林轉數值, true轉為1, false轉為0
null轉換為0
原始型別轉換Number
Number的物件型別轉換規則
傳入例項M, 先呼叫M的
valueOf()
, 如果返回值V為基本資料型別, 則直接使用Number(V), 求最終返回值
如果T不屬於基本資料型別, 則呼叫M的toString()
, 如果返回值S為基本資料型別, 則直接使用Number(S),求最後的結果, 如果S不屬於基本資料型別, 則直接返回NaN物件型別轉換1
物件型別轉換2
String的原始型別轉換規則
數值(Number)轉為相應的字串
字串(String) 轉換後還是字串
布林值(Boolean)轉換規則: true => 'true', false=> 'false'
undefine 轉換為"undefine"
null 轉換為'null'
String原始型別轉換
String 的物件型別轉換規則
與Number的物件轉換規則類似, 區別是: 先呼叫物件的toString(), 然後再呼叫valueOf()
其實正常情況下, 物件呼叫自身的toString()後, 物件就可以轉換為string基本型別, valueOf() 沒有機會被呼叫, 但萬事有個例, 如果我們重新定義了物件的toString()方法,使其返回非基本型別的值, 那樣就有機會呼叫物件的valueOf()方法了
String物件型別轉換規則
Boolean的原始型別轉換 和 物件型別轉換
undefined
,null
,NaN
,''
,-0
,+0
皆為false, 其餘為true
隱式型別轉換
四則運算+
, -
, *
, /
隱式型別轉換之四則運算
判斷語句 if()
Native呼叫 console.log()
, alert()
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4692/viewspace-2803726/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JS資料型別轉換JS資料型別
- JS資料型別的轉換JS資料型別
- js parseInt()資料型別轉換JS資料型別
- java 基本型別的轉換規則Java型別
- JS裡的資料型別轉換JS資料型別
- JS 裡的資料型別轉換JS資料型別
- JS資料型別轉換記錄JS資料型別
- 資料型別,型別轉換資料型別
- JS中資料型別轉換JS資料型別
- js資料型別間的互相轉換JS資料型別
- 資料型別轉換資料型別
- JS中的"=="轉換規則JS
- js型別轉換JS型別
- Java資料型別及型別轉換Java資料型別
- Oracle vs PostgreSQL,研發注意事項(10)- PostgreSQL資料型別轉換規則#2OracleSQL資料型別
- Oracle vs PostgreSQL,研發注意事項(11)- PostgreSQL資料型別轉換規則#3OracleSQL資料型別
- Oracle vs PostgreSQL,研發注意事項(9)- PostgreSQL資料型別轉換規則#1OracleSQL資料型別
- oracle資料隱式轉換規則Oracle
- 3. php資料型別、資料型別轉換PHP資料型別
- JavaScript 資料型別轉換JavaScript資料型別
- 【Java】資料型別轉換Java資料型別
- javascript資料型別轉換JavaScript資料型別
- 資料型別的轉換資料型別
- 避免資料型別轉換資料型別
- 資料型別轉換圖資料型別
- oracle 資料型別轉換Oracle資料型別
- 資料型別及轉換資料型別
- 程式碼靜態掃描規則——型別轉換檢查型別
- JavaScript 運算子規則與隱式型別轉換詳解JavaScript型別
- 2、java資料型別轉換Java資料型別
- JavaScript 基本資料型別轉換JavaScript資料型別
- Qt 資料型別的轉換QT資料型別
- python資料型別轉換Python資料型別
- c語言中的資料型別的自動轉換原則C語言資料型別
- C++基本資料型別及型別轉換C++資料型別
- SQL資料型別和C#資料型別間的轉換SQL資料型別C#
- C語言中,四則運算導致資料型別的轉換C語言資料型別
- JSON 資料型別(轉載)JSON資料型別