Checking if something is an array

Posted on December 21, 2020

Internally, there is no type called “array” in JavaScript. When used on an array, typeof returns "object" instead.

To check if something is an array, use Array.isArray() on the supposed array instead.

// `typeof` an array returns “object” because JS has no type called “array”.
typeof ["a", "b", "c"]                     // ⇒ "object"
 
// The array is treated like this equivalent object.
typeof { 0: "a", 1: "b", 2: "c" }          // ⇒ "object"
 
// Use `Array.isArray` instead of `typeof` to test if something is an array.
Array.isArray(["a", "b", "c"])             // ⇒ true
Array.isArray({ 0: "a", 1: "b", 2: "c" })  // ⇒ false
// `typeof` an array returns “object” because JS has no type called “array”.
typeof ["a", "b", "c"]                     // ⇒ "object"
 
// The array is treated like this equivalent object.
typeof { 0: "a", 1: "b", 2: "c" }          // ⇒ "object"
 
// Use `Array.isArray` instead of `typeof` to test if something is an array.
Array.isArray(["a", "b", "c"])             // ⇒ true
Array.isArray({ 0: "a", 1: "b", 2: "c" })  // ⇒ false

Continue reading

Read all snippets →