Junior
Hoe bepaal je of een variabele een array bevat?
sobes.tech AI
Antwoord van AI
De meest betrouwbare manier is het gebruik van Array.isArray():
// Controleert of de waarde een array is
Array.isArray(mijnVariabele);
Deze methode geeft true terug als de variabele een array is, en false anders, ongeacht de uitvoeringcontext of andere factoren.
Andere, minder betrouwbare methoden zijn:
-
typeof:// Voor arrays geeft typeof 'object' terug typeof mijnVariabele === 'object';Minder betrouwbaar, omdat
typeof'object'teruggeeft voor veel datatypes, niet alleen voor arrays (objecten, null). -
instanceof:// Controleert of het object een instantie is van de Array-klasse mijnVariabele instanceof Array;Kan onbetrouwbaar zijn bij gebruik met iframes of vensters met verschillende JavaScript-contexten, waar
Arrayuit één context verschilt van die uit een andere. -
Constructorcontrole:
// Controleert of de constructor van de variabele Array is mijnVariabele.constructor === Array;Kan ook problemen veroorzaken in verschillende uitvoeringcontexten.
Samenvattingstabel:
| Methode | Betrouwbaarheid | Beschrijving |
|---|---|---|
Array.isArray() |
Hoog | Gespecialiseerd voor het controleren van arrays. |
typeof mijnVariabele |
Laag | Voor arrays geeft het 'object' terug. |
mijnVariabele instanceof Array |
Gemiddeld/laag (afhankelijk van de context) | Controleert of het tot de klasse Array behoort. |
mijnVariabele.constructor === Array |
Gemiddeld/laag (afhankelijk van de context) | Controleert de eigenschap constructor. |
Daarom is Array.isArray() de voorkeursmethode en de meest betrouwbare.