Jakie wartości może zwrócić konstruktor, aby uniknąć zwrotu?

Jakie są dokładne okoliczności, dla których instrukcja powrotu w Javascript może zwrócić wartość inną niżthis kiedy konstruktor jest wywoływany za pomocąnew słowo kluczowe?

Przykład:

function Foo () {
  return something;
}

var foo = new Foo ();

Jeśli się nie mylę, jeślisomething jest niefunkcjonalnym prymitywem,this będzie zwrócony. Inaczejsomething jest zwracany. Czy to jest poprawne?

IOW, jakie wartości mogąsomething wziąć do przyczyny(new Foo () instanceof Foo) === false?

questionAnswers(6)

yourAnswerToTheQuestion