Я экспериментировал с ключевым словом new
и не могу найти объяснения этому поведению.
Допустим, у нас есть функция, возвращающая целое число:
(В firebug)
>>> function x() { return 2; }
>>> x()
2
>>> new x()
x { }
Но если функция возвращает массив:
>>> function y() { return [2]; }
>>> y()
[2]
>>> new y()
[2]
Почему?