1. 程式人生 > >js中的類型轉化

js中的類型轉化

back 轉換對象 技術分享 span font value 比較運算 == primitive

1、轉為Boolean

  boolean 布爾值 表示“true” 或“false”

  在使用if(xx)的時候,括號內的xx都需要轉化為布爾值,除了 undefined nullfalseNaN ‘ ‘ 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中的類型轉化