Sobes.tech
Junior

Jak určit, že proměnná obsahuje pole?

sobes.tech AI

Odpověď od AI

Nejspolehlivější způsob je použití Array.isArray():

// Kontroluje, zda je hodnota pole
Array.isArray(máProměnná);

Tato metoda vrací true, pokud je proměnná pole, a false v opačném případě, bez ohledu na kontext spuštění nebo jiné faktory.

Další, méně spolehlivé způsoby zahrnují:

  1. typeof:

    // U polí `typeof` vrátí `'object'`
    typeofProměnná === 'object';
    

    Je méně spolehlivá, protože typeof vrací 'object' pro mnoho typů dat, nejen pro pole (objekty, null).

  2. instanceof:

    // Kontroluje, zda je objekt instancí třídy ArrayProměnná instanceof Array;
    

    Může být nespolehlivé při práci s iframe nebo okny s různými kontexty JavaScriptu, kde Array z jednoho kontextu se liší od Array z jiného.

  3. Kontrola konstruktoru:

    // Kontroluje, zda konstruktor proměnné je ArrayProměnná.constructor === Array;
    

    Také může způsobit problémy v různých kontextech spuštění.

Souhrnná tabulka:

Metoda Spolehlivost Popis
Array.isArray() Vysoká Specializovaná na kontrolu polí.
typeof máProměnná Nízká U polí vrací 'object'.
máProměnná instanceof Array Střední/Nízká (závisí na kontextu) Kontroluje, zda patří do třídy Array.
máProměnná.constructor === Array Střední/Nízká (závisí na kontextu) Kontroluje vlastnost constructor.

Proto je Array.isArray() preferovanou a nejspolehlivější metodou.