Sobes.tech
Junior

Jak sprawdzić, czy w zmiennej znajduje się tablica?

sobes.tech AI

Odpowiedź od AI

Najbardziej niezawodnym sposobem jest użycie Array.isArray():

// Sprawdza, czy wartość jest tablicą
Array.isArray(mojaZmienna);

Ten sposób zwraca true, jeśli zmienna jest tablicą, i false w przeciwnym razie, niezależnie od kontekstu wykonania czy innych czynników.

Inne, mniej niezawodne sposoby to:

  1. typeof:

    // Dla tablic typeof zwróci 'object'
    typeof mojaZmienna === 'object';
    

    Mało niezawodne, ponieważ typeof zwraca 'object' dla wielu typów danych, nie tylko dla tablic (obiekty, null).

  2. instanceof:

    // Sprawdza, czy obiekt jest instancją klasy Array
    mojaZmienna instanceof Array;
    

    Może być nie do końca niezawodne przy pracy z iframe'ami lub oknami z różnymi kontekstami wykonania JavaScript, gdzie Array z jednego kontekstu różni się od Array z innego.

  3. Sprawdzanie konstruktora:

    // Sprawdza, czy konstruktor zmiennej to Array
    mojaZmienna.constructor === Array;
    

    Również może sprawiać problemy w różnych kontekstach wykonania.

Podsumowując:

Metoda Niezawodność Opis
Array.isArray() Wysoka Specjalistyczna do sprawdzania tablic.
typeof mojaZmienna Niska Dla tablic zwraca 'object'.
mojaZmienna instanceof Array Średnia/Niska (w zależności od kontekstu) Sprawdza, czy należy do klasy Array.
mojaZmienna.constructor === Array Średnia/Niska (w zależności od kontekstu) Sprawdza właściwość constructor.

Dlatego Array.isArray() jest metodą preferowaną i najbardziej niezawodną.