Estoy pensando en varias cosas para las que no pude encontrar una respuesta clara, aunque leí muchos artículos en sitios web y vi muchos videos en Youtube.
Escuché que todo es un objeto excepto los tipos primitivos si no se definen con la palabra clave 'nuevo'. Cuando creo una función, sé que se llama al método integrado 'Función' junto con la palabra clave 'nueva' y se creará una función. Pero ese método 'Función' también es una función y por lo tanto es un objeto y debe tener un constructor y el constructor de Función debe tener otro constructor. Esto me recuerda el concepto de que si somos creados por Dios, quién creó a Dios y quién creó al Dios de Dios y así sucesivamente. ¿Hay algún final?
Sé que hay tres tipos de referencia en JavaScript: objetos, funciones y matrices. Si todo es un objeto en Javascript, las funciones y matrices también son objetos. Entonces, ¿por qué necesitamos separar las funciones y matrices en tipos de referencia y mostrarlos como independientes del tipo de datos del objeto?