可以使用typeof检测数据类型,例如:
console.log(typeof 12) // number
console.log(typeof '12') // string
console.log(typeof true) // boolean
console.log(typeof null) // object (特殊值null被当作是一个空对象的引用)
console.log(typeof undefined) // undefined
console.log(typeof function test(){}) // function
1.Undefined类型,只有undefined值。
let message
console.log(typeof message) // undefined 已声明未初始化undefined
console.log(typeof msg) // undefined 未声明和初始化undefined
2.Null类型,只有一个特殊值null。(null值表示一个空对象指针)
注意:永远不必显式的将变量值设置为undefined,但是当变量要保存对象,而当时又没有值,可以用null来填充该变量。这样就可以保持null是空对象指针的语义,并进一步与undefined区分开来。
undefined值是由null派生来的!
3.Boolean类型,有两个值true和false。
Boolean | true | false |
String | 非空字符串 | " " |
Number | 非0 | 0,NAN |
Object | 任意对象 | null |
Undefined | N/A | undefined |
像if等流控制语句,会自动执行其他类型到布尔值的转换。例如:
let message = 'hello'
if(message) {
console.log('success')
}
4.Number类型
NAN(not a number),NAN不等于NAN在内的任何值。
console.log(isNaN(12)) // false
console.log(isNaN('12')) // false
console.log(isNaN('hello')) // true
console.log(isNaN(true)) // false
console.log(isNaN(null)) // false
console.log(isNaN(undefined)) // true
Number()转换