JS七种数据类型
- number(数字)
- boolean(布尔) // true or false
- string(字符串)
- null
- undefinde
- symbol
- object (对象)
这七种数据类型互相转换的规则:
1. 任何转number
-
Number()
'1' Number('1') // 1
全局函数 parseInt('1') // 1
-
parseFloat('1.23') // 1.23
浮点计算 -
‘1’-0 // 1
(常用) -
+ '1' // 1
在用parse
解析数字的时候,能解析到哪就解析到哪。
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()
全局函数,和第二种的效果是一样的。
3. 任何类型转换成boolean
- 利用全局函数:
boolean()
-
!xx
感叹号取其反值,!!xx
双感叹号取本身的boolean值。
所有类型取boolean值,只有五个特殊值(falsy)
!!0 //false
!!"" //false
!!"null" //false
!!"undefined" //false
!!"NaN" //false
所有object(对象)的boolean值都为true。
null和undefined都不用转换成其他的类型,因为他们只有一个值。