Junior
How to determine that an array is stored in a variable?
sobes.tech AI
Answer from AI
The most reliable way is to use Array.isArray():
// Checks if the value is an array
Array.isArray(myVariable);
This method returns true if the variable is an array, and false otherwise, regardless of the execution context or other factors.
Other, less reliable methods include:
-
typeof:// For arrays, typeof returns 'object' typeof myVariable === 'object';Unreliable, as
typeofreturns'object'for many data types, not just arrays (objects, null). -
instanceof:// Checks if the object is an instance of the Array class myVariable instanceof Array;Can be unreliable when working with frames or windows with different execution contexts, where
Arrayfrom one context differs fromArrayfrom another. -
Constructor check:
// Checks if the constructor of the variable is Array myVariable.constructor === Array;Also susceptible to issues with different execution contexts.
Summary table:
| Method | Reliability | Description |
|---|---|---|
Array.isArray() |
High | Specialized for checking arrays. |
typeof myVariable |
Low | Returns 'object' for arrays. |
myVariable instanceof Array |
Moderate/Low (depending on context) | Checks if it belongs to the Array class. |
myVariable.constructor === Array |
Moderate/Low (depending on context) | Checks the constructor property. |
Therefore, Array.isArray() is the preferred and most reliable method.