Накратко
typeof не различава масивите от обикновените обекти.
Полезно е да знаеш
Array.isArray() връща true за масив и false за други стойности. Например Array.isArray([]) е true, докато Array.isArray({}) е false. И двете стойности иначе имат typeof „object“. [1]
Проверката е полезна преди обхождане на получен JSON списък. Тя потвърждава вида на контейнера, но не проверява полетата на всеки запис. Масив от числа и масив от обекти минават еднакво. Ако приложението изисква обекти с цена, провери отделно съдържанието и допустимите стойности, преди да започнеш изчисления.
Източници
За повече подробности и проверка на информацията: