¿Alguien puede explicar este comportamiento o fenómeno y qué sucede exactamente detrás de escena?
Se supone que una función constructora inicializada con una nueva palabra clave devuelve implícitamente el contexto del objeto actual (esto).
function User() { this.name = "Alice"; } console.log( new User() );Que está funcionando exactamente lo que dice.
También es posible devolver explícitamente un objeto con
function User() { this.name = "Alice"; return { name: "Jane" }; } console.log( new User() );Qué objeto devuelve explícitamente, pero cuando intenta devolver un valor primitivo, devuelve lo que implícitamente se supone que debe devolver.
function User() { this.name = "Alice"; return "Jane"; } console.log( new User() );Gracias de antemano. Sus esfuerzos serán una gran aportación a mi conocimiento.