¿Por qué un constructor solo puede devolver un objeto?
Si hay un constructor como
function a() {}
lueg
(new a) instanceof a === true
Pero en la otra mano
function a() { return {} }
resultados en
(new a) instanceof a === false
Así que lo que estaba pensando es que
function a() { return 123 }
resultaría en lo mismo. Sin embargo, al devolver un número,
(new a) instanceof a === true
¿Cómo es esto posible? ¿Por qué no puedo hacer que un constructor devuelva algo más que un Objeto?
(Sé que hacer que un constructor devuelva un Número es bastante inútil, pero me gustaría entender el 'por qué' de este comportamiento)