Ключевое слово Javascript `new` в функции, возвращающей массив

Я экспериментировал с ключевым словом new и не могу найти объяснения этому поведению. Допустим, у нас есть функция, возвращающая целое число:

(В firebug)

>>> function x() { return 2; }
>>> x()
2
>>> new x()
x { }

Но если функция возвращает массив:

>>> function y() { return [2]; }
>>> y()
[2]
>>> new y()
[2]

Почему?

6
задан slaphappy 27 June 2011 в 09:39
поделиться