首页前端开发正文

js判断一个变量是否为数组

朱绪2022-06-01635JavaScript

使用 typeof 是无法判断一个变量是否为数组的。

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的左边是我们想要判断的变量,右边则是我们想要判断的对象的类。