JS数据类型
- 基本数据类型:string,number、boolean、null、undefined、symbol(ES6新增)
- 引用数据类型:object、function、array
数据类型的判断
- typeof:用于判断基本数据类型,但是无法区分null、function、array类型,因为他们的返回值都是object
var str='123' console.log(typeof str) //string var a=[] var b=null console.log(typeof a)// object console.log(typeof b) //object
- instanceof:可以区分数组和对象,返回值是一个布尔值,但无法区分null和undefined
var a='123' console.log(a instanceof string)//true console.log(a instanceof Array)//false
- constructor:基本可以满足基本数据类型和引用数据类型的判断,但是当创建一个构造函数,并把它的原型指向数组的原型,这种情况下constructor也无法判断
var a='123' console.log(a.constructor.name)//string
- Object.prototype.toString.call() 用于判断内置数据类型的完美解决方案
var a= '123' console.log(Object.prototype.toString.call(a))//string