Sobes.tech
Junior

Hoe kunt u controleren of dit veld een array is?

sobes.tech AI

Antwoord van AI

Er zijn verschillende manieren om te controleren of een veld een array is:

  1. Array.isArray(): De meest aanbevolen en moderne methode.

    // Controleert of de waarde een array is.
    // Geeft true of false terug.
    Array.isArray([]); // true
    Array.isArray({}); // false
    Array.isArray(null); // false
    Array.isArray(undefined); // false
    Array.isArray(123); // false
    Array.isArray('tekst'); // false
    
  2. instanceof Array: Werkt voor arrays die in de huidige frame zijn gemaakt.

    // Controleert of het object een instantie is van de Array-klasse.
    // Kan onjuiste resultaten geven bij gebruik met iframes.
    [] instanceof Array; // true
    new Array() instanceof Array; // true
    ({}); // false
    
  3. Object.prototype.toString.call(): Betrouwbare methode die problemen met instanceof in verschillende frames omzeilt.

    // Geeft een stringrepresentatie van het type van het object.
    // Voor arrays geeft het "[object Array]".
    Object.prototype.toString.call([]); // "[object Array]"
    Object.prototype.toString.call({}); // "[object Object]"
    Object.prototype.toString.call(null); // "[object Null]"
    Object.prototype.toString.call(undefined); // "[object Undefined]"
    
  4. Controle van de constructor eigenschap: Minder betrouwbaar, omdat de constructor eigenschap kan worden gewijzigd.

    // Controleert of de constructor van het object Array is.
    [].constructor === Array; // true
    ({}).constructor === Object; // false
    

De meest aanbevolen en betrouwbare methode in de meeste gevallen is het gebruik van Array.isArray().