У меня есть следующий устаревший код, из которого я хотел бы удалить eval:
eval('view = new ' + o.base + '(o)');
Лучшее, что я до сих пор придумал, это ...
view = eval(o.base).prototype.constructor.apply(o)
... который, очевидно, все еще использует eval. Может кто-нибудь помочь, пожалуйста?
ПРИМЕЧАНИЕ. Переменная o.base является полным именем класса (например, «application.area.type.ClassName»), ссылающимся на допустимую функцию.