Sobes.tech
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:

  1. 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).

  2. 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 Array uit één context verschilt van die uit een andere.

  3. 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.