使用 typeof 是无法判断一个变量是否为数组的。
因为 typeof xxx 得到的值只有以下几种:number、string、boolean、undefined、function、object、symbol。
let arr = [1, 2]; console.log(typeof arr); // object
typeof [1, 2] 的结果是 object,不是我们期望的 array。
typeof一个引用类型,除了 function,其他结果全部都是 object。
所以说,js判断一个变量是否为数组,只能借助其它的工具,比如 instanceof。
let arr = [1, 2]; console.log(arr instanceof Array); // true 返回true,说明变量arr是数组类型
instanceof用于实例和构造函数的对应。
如果[1, 2]是数组,那么它的构造函数就是 Array。
instanceof的左边是我们想要判断的变量,右边则是我们想要判断的对象的类。