Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Вызов конструктора без new. Почему не со всеми работает? (https://javascript.ru/forum/css-html/45298-vyzov-konstruktora-bez-new-pochemu-ne-so-vsemi-rabotaet.html)

danik.js 22.02.2014 22:12

Вызов конструктора без new. Почему не со всеми работает?
 
Почему в хроме не работает вызов следующих конструкторов:

ArrayBuffer() //TypeError: Constructor ArrayBuffer requires 'new'
Int32Array() //TypeError: Constructor Int32Array requires 'new'
Image() //TypeError: Failed to construct 'Image': Please use the 'new' operator, this DOM object constructor cannot be called as a function.
Option() //TypeError: Failed to construct 'Option': Please use the 'new' operator, this DOM object constructor cannot be called as a function.


Почему так сделали? Видно же, что это не ошибка, а прям намеренно так сделано.

melky 22.02.2014 23:49

мб из-за неправильного контекста? или семантики - с 'new' вызывается конструктор, без него - функция.

на это намекает эта строка :
object constructor cannot be called as a function.

danik.js 23.02.2014 00:09

Цитата:

Сообщение от melky
мб из-за неправильного контекста? или семантики - с 'new' вызывается конструктор, без него - функция.

Причем тут контекст. Затуп именно в хроме, и то только с некоторыми конструкторами (я перечислил почти все считай). Но по сообщениям выглядит будто это намеренно сделано. Зачем?


Часовой пояс GMT +3, время: 07:15.