js中的類型轉化
阿新 • • 發佈:2019-04-07
back 轉換對象 技術分享 span font value 比較運算 == primitive
1、轉為Boolean
boolean 布爾值 表示“true” 或“false”
在使用if(xx)的時候,括號內的xx都需要轉化為布爾值,除了 undefined 、null 、false 、 NaN 、 ‘ ‘ 、 0 、 -0 其他值都轉為true。
2、對象轉基本類型
對象在轉換基本類型時,首先會調用 valueOf
然後調用 toString
。
3、四則運算符產生的類型轉化
①、在加法運算中,當一方是字符串,則另一方也轉化為字符串
並且在加法運算中,可能觸發三種類型的轉化---將值轉換為原始值,轉換為數字,轉換為字符串。
1 [1,2]+[2,1] //‘1,22,1‘ 2 [1,2].toString()=>‘1,2‘ //轉化為元素值 3 [2,1].toString()=>‘2,1‘ 4 ‘1,2‘+‘2,1‘=‘1,22,1‘
②、其他運算中,只要有數字就轉化為數字
4、==操作符產生的類型轉化
5、比較運算符
①、如果是對象,就通過toPrimitive
轉換對象
(toPrimitive(obj)等價於:先計算obj.valueOf(),如果結果為原始值,則返回此結果;否則.計算obj.toString(),如果結果是原始值,則返回此結果;否則,拋出異常)
②、如果是字符串,就通過 unicode
字符索引來比較
js中的類型轉化