js判断变量类型使用什么方法 let和var和const区别

JavaScript 如何判断一个变量是否为数组类型

  • 引言
  • 正文
  • 方法一方法二方法三方法四方法五方法六方法七
  • 结束语
引言我们如何判断一个变量是否为数组类型呢? 今天来给大家介绍七种方式,别走开,这肯定会被问到的~继续往下看吧
正文首先先告诉你们,typeof 是无法判断一个变量是否为数组类型的,我们来看一下例子:
let arr = [1, 2, 3]console.log(typeof arr)//object最后输出的是object对象1234方法一使用 instanceof 运算符,该运算符左边是我们想要判断的变量,右边则是我们想要判断的对象的类,例如:
let arr = [1, 2, 3]console.log(arr instanceof Array)//true返回true,说明变量arr是数组类型1234方法二利用构造函数来判断他的原型是否为Array,用法: 变量.constructor === 变量类型
let arr = [1, 2, 3]console.log(arr.constructor === Array)//true返回true,说明变量arr是数组类型1234方法三第三种方法利用的一个专门的方法 isArray(),用法:Array.isArray(变量),返回true,则说明该变量是数组类型;反之,说明该变量不是数组类型
【js判断变量类型使用什么方法 let和var和const区别】let arr = [1, 2, 3]console.log(Array.isArray(arr))//true返回true,说明变量arr是数组类型1234方法四第四种方法是调用Object.prototype.toString.call(),返回true,则说明该变量是数组类型;反之,说明该变量不是数组类型
let arr = [1, 2, 3]console.log(Object.prototype.toString.call(arr) === '[object Array]')//true返回true,说明变量arr是数组类型1234方法五第五种方式是通过对象的原型方式来判断,直接来看例子
let arr = [1, 2, 3]console.log(arr.__proto__ === Array.prototype)//true返回true,说明变量arr是数组类型1234方法六第六种方式是通过 Object.getPrototypeOf()来判断是否为数组类型,例如
let arr = [1, 2, 3]console.log(Object.getPrototypeOf(arr) === Array.prototype)//true返回true,说明变量arr是数组类型1234方法七第七种方式是通过 isPrototypeOf() 方法来判断是否为数组类型,例如
let arr = [1, 2, 3]console.log(Array.prototype.isPrototypeOf(arr))//true返回true,说明变量arr是数组类型1234结束语当你面试中被问到如何判断一个变量是否为数组类型的时候,你就将这七种方式脱口而出吧,一定会让面试官大吃一斤的~

    推荐阅读