typeof
typeof 返回值(字符):
number,string,boolean,undefined,symbol,function,object
;(只有object是不明确的) var a = [1,2]typeof(a) = "object"typeof a = "object" //两种写法typeof(b) = "undefined" //a未定义,通过这种方式可以判断变量是否存在
对于对象,数组,null(较特殊,历史原因),Date,正则, 都是object,需要instanceof才能判断
instanceof
instanceof运算符用来判断一个构造函数的prototype属性所指向的对象是否存在另外一个要检测对象的原型链上,返还boolean值。
const a = [1,2]a instanceof Array // true // Array的prototype属性所指向的对象是否存在a的原型链上const b = 'str'b instanceof String // false// String是一个构造函数对象,b的类型不是String,而是string,string不是构造函数,不能直接判断, //通过var b = String(1)也是falseconst c = new Date()c instanceof Date // true
JavaScript中只有这几个类型: 基本类型:number,boolean,string,undefined,null,symbol
; 引用类型:object
;Object,Function,Array,RegExp、Date
,它们实质上都是object
!