欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-24 15:43:46
javascript 如何判断一个变量是否为数组类型引言正文方法一方法二方法三方法四方法五方法六方法七结束语引言我们如何判断一个变量是否为数组类型呢? 今天来给大家介绍七种方式,别走开, 这肯定会被问...

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,则说明该变量是数组类型;反之,说明该变量不是数组类型

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

结束语

当你面试中被问到如何判断一个变量是否为数组类型的时候,你就将这七种方式脱口而出吧, 一定会让面试官大吃一斤的~