Еще вопрос, чтобы новую тему не создавать. Пример из статьи:
https://www.sitepen.com/blog/2015/10...pt-decorators/
Реализация декоратора @readonly
function readonly<TFunction extends Function>(Target: TFunction): TFunction {
let newConstructor = function () {
Target.apply(this);
Object.freeze(this);
};
newConstructor.prototype = Object.create(Target.prototype);
newConstructor.prototype.constructor = Target;
return <any> newConstructor;
}
Зачем здесь делают Target.apply(this);? По-моему, это просто вызовет конструктор без аргументов. Смысл?
Ну и
newConstructor.prototype = Object.create(Target.prototype);
newConstructor.prototype.constructor = Target;
так ли нужны?