Если есть конструктор вроде
function a() {}
, то
(new a) instanceof a === true
Но, с другой стороны,
function a() { return {} }
приводит к
(new a) instanceof a === false
. Я думал, что
function a() { return 123 }
приведет к тому же результату. Однако при возврате числа
(new a) instanceof a === true
как это возможно? Почему я не могу заставить конструктор возвращать что-то еще, кроме объекта?
(Я знаю, что создание конструктора, возвращающего число, довольно бесполезно, но я хотел бы понять «почему» такого поведения)