Junior
Kako odrediti da li promenljiva sadrži niz?
sobes.tech АИ
Одговор од АИ
Najpouzdaniji način je korišćenje Array.isArray():
// Proverava da li je vrednost niz
Array.isArray(mojaPromenljiva);
Ova metoda vraća true ako je promenljiva niz, i false u suprotnom, bez obzira na kontekst izvršenja ili druge faktore.
Drugi, manje pouzdani načini uključuju:
-
typeof:// Za nizove, `typeof` će vratiti 'object' typeof mojaPromenljiva === 'object';Manje je pouzdano, jer
typeofvraća'object'za mnoge tipove podataka, ne samo za nizove (objekti, null). -
instanceof:// Proverava da li je objekat instanca klase Array mojaPromenljiva instanceof Array;Može biti nepouzdano kada se radi sa iframe-ovima ili prozorima sa različitim JavaScript kontekstima, gde
Arrayiz jednog konteksta može biti različit od drugog. -
Provera konstruktora:
// Proverava da li je konstruktor promenljive Array mojaPromenljiva.constructor === Array;Takođe može izazvati probleme u različitim kontekstima izvršenja.
Tabela sažetka:
| Metod | Pouzdanost | Opis |
|---|---|---|
Array.isArray() |
Visoka | Specijalizovano za proveru nizova. |
typeof mojaPromenljiva |
Niska | Za nizove, vraća 'object'. |
mojaPromenljiva instanceof Array |
Srednja/Niska (zavisno od konteksta) | Proverava da li pripada klasi Array. |
mojaPromenljiva.constructor === Array |
Srednja/Niska (zavisno od konteksta) | Proverava svojstvo constructor. |
Stoga je Array.isArray() preferirani i najpouzdaniji način.