typeof 和 instanceof
我们在检测数据类型的时候常用两种方法. 分别是typeof和instanceof. 但是这两种方法各有不同.
typeof
typeof 是我们开始学JavaScript是就会学习的方法. 这个方法作用于不同的数据类型返回不同的值. 如下图所示:
从图中有几处需要我们注意的地方, 分别是undefined和null类型的返回值, object,array及function类型的返回值.
null类型返回”object”, array类型返回”object”, function类型返回”function”.
instanceof
instanceof 运算符用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性。通过这个特性, 我们也可以检测某个实例是否属于某个对象.
对于除了Symbol, undefined, null类型外, 其余类型都有自己的构造函数.
number
string
boolean
function
array
object
参考:
instanceof: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/instanceof
typeof: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/typeof