¿Qué valores puede devolver un constructor para evitar devolver esto?

¿Cuáles son las circunstancias exactas para las cuales una declaración de devolución en Javascript puede devolver un valor diferente athis cuando se invoca un constructor usando elnew ¿palabra clave?

Ejemplo:

function Foo () {
  return something;
}

var foo = new Foo ();

Si no me equivoco, sisomething es una primitiva sin función,this Será devuelto. De otra manerasomething es regresado. ¿Es esto correcto?

IOW, que valores puedensomething llevar a la causa(new Foo () instanceof Foo) === false?

Respuestas a la pregunta(6)

Su respuesta a la pregunta