let和var和const區別「js判斷變數類型使用什麼方法」

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

結束語

當你面試中被問到如何判斷一個變數是否為數組類型的時候,你就將這七種方式脫口而出吧, 一定會讓面試官大吃一斤的~

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/274766.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-17 14:16
下一篇 2024-12-17 14:16

相關推薦

發表回復

登錄後才能評論