Какие типы данных есть в JavaScript?
Семь примитивов — string, number, boolean, null, undefined, symbol, bigint, — а всё остальное объекты, включая массивы и функции. Примитивы копируются по значению, объекты по ссылке, и отсюда почти вся путаница вида «почему изменение одной переменной изменило другую». typeof null возвращает 'object' — это баг 1995 года, который нельзя починить, не сломав веб.