typeof:
返回一个字符串,用来说明变量的数据类型.
只能返回如下几个结果:number,boolean,string,function,object,undefined,symbol
typeof Object //function
let s = Symbol("id");
typeof s //symbol
typeof [1,2,3] //object
typeof null //object
instanceof:
用于判断一个变量是否属于某个对象的实例
instanceof运算符用来测试一个对象在其原型链构造函数上是否具有prototype属性
需要注意的是,这里的 “对象” 并不是js中广义的对象,因为js中都是对象。
这里的对象就是Object类型。也就是说,只有Object或者Array这种引用类型的才能正确使用instanceof来比较。
注意:String("xxx")和new String("xxx")是不同的!
引用类型就简单得多:
[] instanceof Array //true
[] instanceof Object //true
let obj = {}
obj instanceof Object //true
参考:隨秋風飄遠 JavaScript中instanceof的使用