JS类型的判断

类型的判断 

JS基本数据类型:

  bigInt(内置类型) , number,string,symbol,string,null,undefined,boolean

复杂数据类型:

  object(普通对象), array,function,Date(内置对象)

判断类型的方法

(1)typeof 

基本数据类型,除了null均返回相应的类型,null返回object

1 typeof 1 // "number" 
2 typeof 'a'  // "string"
3 typeof true  // "boolean"
4 typeof undefined // "undefined"
5 typeof Symbol() // "symbol"
6 typeof 42n // "bigint"​
7 typeof null  // "object" 

特殊值NaN返回number

typeof NaN // "number"​ 

复杂数据类型,除了function  都返回object

typeof({a:1}) // "object" 普通对象直接返回“object”
typeof [1,3] // 数组返回"object"
typeof(new Date) // 内置对象 "object"​
typeof function(){} // "function

 

(2) obj instanceof Object

[1,2] instanceof Array  // true
(function(){}) instanceof Function // true
({a:1}) instanceof Object // true
(new Date) instanceof Date // true​ 

 

(3)object.property.toString.call

Object.prototype.toString.call(999) // "[object Number]"
Object.prototype.toString.call('') // "[object String]"
Object.prototype.toString.call(Symbol()) // "[object Symbol]"
Object.prototype.toString.call(42n) // "[object BigInt]"
Object.prototype.toString.call(null) // "[object Null]"
Object.prototype.toString.call(undefined) // "[object Undefined]"
Object.prototype.toString.call(true) // "[object Boolean]​

//复杂数据类型也能返回相应的类型
Object.prototype.toString.call({a:1}) // "[object Object]"
Object.prototype.toString.call([1,2]) // "[object Array]"
Object.prototype.toString.call(new Date) // "[object Date]"
Object.prototype.toString.call(function(){}) // "[object Function]"

 

(4)其它

[es6]判断数组:Array.isArray() 

 

上一篇:string.ToString("X")的含义,转换为16进制


下一篇:jenkins多分支构建选择