JS的類型轉換
1.強制轉換
通過String(),Number(),Boolean()函數強制轉換
var str=123; var str1='123'; console.log(typeof str); console.log(typeof str1); console.log(typeof String(str)); console.log(typeof Number(str1));
輸出
number string string number
- 1
- 2
- 3
- 4
2.隱式轉換
JavaScript的數據類型分為六種,分別為null,undefined,boolean,string,number,object。object是引用類型,其它的五種是基本類型或者是原始類型。我們可以用typeof方法打印來某個是屬於哪個類型的。不同類型的變量比較要先轉類型,叫做類型轉換,類型轉換也叫隱式轉換。隱式轉換通常發生在運算符加減乘除,等於,還有小於,大於等。。
console.log(typeof '11')//輸出string console.log(typeog 11) //輸出number console.log('11' < 4 ) //輸出fals
1.字符串加數字,數字就會轉成字符串。
2.數字減字符串,字符串轉成數字。如果字符串不是純數字就會轉成NaN。字符串減數字也一樣。兩個字符串相減也先轉成數字。
3.乘,除,大於,小於跟減的轉換也是一樣。
隱式轉換的其他例子
console.log(10+'20') //2010 console.log(10-'20')//-10 number console.log(10-'one') //NaN not a number console.log(10-'101a') //NaN console.log(10*'20') //200 number console.log('10'*'20') //200 number console.log(20/'10') //2 number console.log('20'/'10') //2 number console.log('20'/'one') //NaN
關於==
1.undefined等於null
2.字符串和數字比較時,字符串轉數字
3.數字為布爾比較時,布爾轉數字
4.字符串和布爾比較時,兩者轉數字
console.log(undefined==null) //true console.log('0'==0) //true 字符串轉數字 console.log(0==false) //true 布爾轉數字 console.log('0'==false) //2個都轉成數字 console.log(null==false) //false console.log(undefined==false)//false