JS七種數(shù)據(jù)類型
- number(數(shù)字)
- boolean(布爾) // true or false
- string(字符串)
- null
- undefinde
- symbol
- object (對象)
這七種數(shù)據(jù)類型互相轉換的規(guī)則:
1. 任何轉number
-
Number()
'1' Number('1') // 1
全局函數(shù) parseInt('1') // 1
-
parseFloat('1.23') // 1.23
浮點計算 -
‘1’-0 // 1
(常用) -
+ '1' // 1
在用parse
解析數(shù)字的時候,能解析到哪就解析到哪区丑。
parseInt('12s') // 12
parseInt('s12') // NaN
2. 任何轉string(字符串)
轉義符:'\'
' '空字符串
多行字符串:
var s = '12345/
67890' // '1234567890'
var s = '12345'+
'67890' // '1234567890'
-
.tostring()
這種方法null和undefind類型是沒有這個API的,所以程序就會報錯捞蚂。 - 用字符串與空字符串相加。ex:
1+'' === '1'
這種效果最好嫉鲸,沒有限制为牍。 -
window.String()
全局函數(shù)馅精,和第二種的效果是一樣的。
3. 任何類型轉換成boolean
- 利用全局函數(shù):
boolean()
-
!xx
感嘆號取其反值旁涤,!!xx
雙感嘆號取本身的boolean值翔曲。
所有類型取boolean值,只有五個特殊值(falsy)
!!0 //false
!!"" //false
!!"null" //false
!!"undefined" //false
!!"NaN" //false
所有object(對象)的boolean值都為true劈愚。
null和undefined都不用轉換成其他的類型瞳遍,因為他們只有一個值。