Quais tipos de dados existem em JavaScript?
Sete primitivos — string, number, boolean, null, undefined, symbol, bigint — e tudo o mais é um objeto, incluindo arrays e funções. Primitivos são copiados por valor e objetos por referência, que é a origem da maior parte da confusão sobre por que mudar uma variável mudou outra. typeof null retorna 'object', e esse é um bug de 1995 que nunca pode ser corrigido sem quebrar a web.