Какие типы имеют null, массив, bigint и функция в JS?

Результаты: object, undefined, number, bigint, string, boolean, symbol, object, function. Массив проверяют через Array.isArray; typeof null исторически возвращает object.

Короткий ответ

Что ответить на собеседовании

Результаты: object, undefined, number, bigint, string, boolean, symbol, object, function. Массив проверяют через Array.isArray; typeof null исторически возвращает object.

Подробный разбор

Ответ с пояснениями

Условие

Для const values = [null, undefined, 7, 7n, '7', true, Symbol('x'), [], () => 1]; перечислите результаты typeof и поясните, почему их недостаточно для определения массива.

Ответ

Результаты: object, undefined, number, bigint, string, boolean, symbol, object, function. Массив проверяют через Array.isArray; typeof null исторически возвращает object.

Null является отдельным примитивным значением, несмотря на результат typeof. Массив и обычный объект дают одинаковую строку object, поэтому одного typeof недостаточно для структурной проверки. Function тоже объект в модели языка, но typeof выделяет вызываемые объекты. Bigint 7n не следует автоматически смешивать с number 7 в арифметике: это разные числовые типы.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее