数据类型:基本数据类型和对象(Object)
基本数据类型:Boolean,Number,String,Null,Undefined,Symbol
注意:
A、Number数字类型是浮点型,没有整型
B、NaN也是属于数字类型,并且NaN不等于自身
typeof 对于基本数据类型,除了Null,都可以正确显示数据类型
typeof 1 // 'number'
typeof '1' // 'string'
typeof undefined // 'undefined'
typeof true // 'boolean'
typeof Symbol() // 'symbol'
typeof b // b 没有声明,但是还会显示 undefined
typeof 对于Object,除了函数都会显示 Object
typeof [] // 'object'
typeof {} // 'object'
typeof console.log // 'function'
注意:
A、typeof Null 显示 Object
B、typeof function 显示 function
敲黑板啦!!!
如果你想获得一个变量的正确类型,可以通过 Object.prototype.toString.call(xx)。这样我们就可以获得类似 [object Type] 的字符串。
Object.prototype.toString.call(obj) === "[object Object]"
console.log(Object.prototype.toString.call("jerry"));//[object String]
console.log(Object.prototype.toString.call(12));//[object Number]
console.log(Object.prototype.toString.call(true));//[object Boolean]
console.log(Object.prototype.toString.call(undefined));//[object Undefined]
console.log(Object.prototype.toString.call(null));//[object Null]
console.log(Object.prototype.toString.call({name: "jerry"}));//[object Object]
console.log(Object.prototype.toString.call(function(){}));//[object Function]
console.log(Object.prototype.toString.call([]));//[object Array]
console.log(Object.prototype.toString.call(new Date));//[object Date]
console.log(Object.prototype.toString.call(/\d/));//[object RegExp]
function Person(){};
console.log(Object.prototype.toString.call(new Person));//[object Object]
网友评论