динамическая конструкция объекта в JavaScript?

Когда я хочу вызвать функцию в JavaScript с аргументами, предоставленными из других мест, я могу использоватьapply метод функции типа:

array = ["arg1", 5, "arg3"] 
...
someFunc.apply(null, array);

но что, если мне нужно вызвать конструктор аналогичным образом? Это не похоже на работу:

array = ["arg1", 5, "arg3"] 
...
someConstructor.apply({}, array);

по крайней мере, не так, как я пытаюсь:

template = ['string1', string2, 'etc'];
var resultTpl = Ext.XTemplate.apply({}, template);

это не работает с:

Ext.XTemplate.prototype.constructor.apply({}, template);

Есть ли способ заставить это работать? (В данном конкретном случае я обнаружил, чтоnew Ext.XTemplate(template) будет работать, но меня интересует общее дело)

похожий вопрос, но специфичный для встроенных типов и без ответа я могу использовать:Создание объекта JavaScript путем вызова prototype.constructor.apply

Спасибо.

Редактировать:

Время прошло, а ES6 и транспортёры теперь вещь. В ES6 тривиально сделать то, что я хотел:new someConstructor(...array). галдеж превратит это в ES5new (Function.prototype.bind.apply(someConstructor, [null].concat(array)))(); что объясняется вКак построить объект JavaScript (используя «применить»)?.

Ответы на вопрос(4)

Ваш ответ на вопрос