¿Qué tipos de datos hay en JavaScript?
Siete primitivos — string, number, boolean, null, undefined, symbol, bigint — y todo lo demás es un objeto, incluyendo arrays y funciones. Los primitivos se copian por valor y los objetos por referencia, que es el origen de la mayor parte de la confusión sobre por qué cambiar una variable cambió otra. typeof null devuelve 'object', y ese es un bug de 1995 que nunca se puede arreglar sin romper la web.