How do you use the typeof operator to check if a variable is an array in JavaScript?

In JavaScript, the `typeof` operator is not sufficient for accurately checking if a variable is an array. The `typeof` operator returns the string "object" for arrays, as arrays are a type of object in JavaScript. However, it doesn't specifically indicate that the object is an array.

To accurately check if a variable is an array, you should use `Array.isArray()` or check the `instanceof` operator.

Using `Array.isArray()`:

let myArray = [1, 2, 3];

if (Array.isArray(myArray)) {

    console.log("myArray is an array.");

} else {

    console.log("myArray is not an array.");

}


The `Array.isArray()` method returns `true` if the provided value is an array; otherwise, it returns `false`.

Using `instanceof`:

let myArray = [1, 2, 3];

if (myArray instanceof Array) {

    console.log("myArray is an array.");

} else {

    console.log("myArray is not an array.");

}


The `instanceof` operator checks if an object is an instance of a particular class or constructor function. In this case, it checks if `myArray` is an instance of the `Array` constructor.

Both methods are reliable for checking if a variable is an array. However, `Array.isArray()` is generally recommended for array type checks in modern JavaScript code.