How to Determine if a Variable is an Array
May 14, 2021
You shouldn't use the typeof operator to check whether a value is an array, because typeof cannot distinguish between arrays and objects.
Instead you should use Array.isArray(), because typeof would return 'object', not 'array'.
let array = [1,2,3,4];
typeof array; // `object`
Array.isArray() takes one parameter and will return true only
if the given value is an array. Anything else will return false.
You can also use instanceof to determine if a value is an array,
however, Array.isArray() is fullproof as instanceof will
not return true on an iframe.
let array = [1,2,3,4];
Array.isArray(array); // true
Note: ES6 introduced the ability to subclass Array, like class CustomArray extends Array {}.
The good news is that Array.isArray() will return true for any object that extends Array.
Did you find this tutorial useful? Say thanks by starring our repo on GitHub!