JavaScript 有几种类型
- 基本数据类型:undefined、null、boolean、number、string、symbol(es6的新数据类型)
- 引用数据类型:object、array、function(统称为object)
typeof
对于基本数据类型来说,除了 null
都可以显示正确的类型,typeof 对于对象来说,除了函数都会显示 object
typeof 5 // 'number' typeof '5' // 'string' typeof undefined // 'undefined' typeof false// 'boolean' typeof Symbol() // 'symbol' console.log(typeof null) //object console.log(typeof NaN) //number typeof [] // 'object' typeof {} // 'object' typeof console.log // 'function'
instanceof
通过原型链来判断数据类型的
p1 = new Person() p1 instanceof Person // true
Object.prototype.toString.call()可以检测所有的数据类型,算是一个比较完美的方法了
var obj={} var arr=[] console.log(Object.prototype.toString.call(obj)) //[object Object] console.log(Object.prototype.toString.call(arr)) //[object Array]