Первый раз вижу такой код.. не пойму, что тут происходит?
var DemoAppModel = (function (_super) {
__extends(DemoAppModel, _super);
function DemoAppModel() {
_super.call(this);
}
DemoAppModel.prototype.auth = function () {}
return DemoAppModel;
})(observable.Observable);
exports.DemoAppModel = DemoAppModel;
exports.mainViewModel = new DemoAppModel();
Где про это можно прочитать?
Это код, сгенерированный компилятором TypeScript. До компиляции он был вот таким:
export class DemoAppModel extends observable.Observable {
auth() { }
}
export var mainViewModel = new DemoAppModel();
Никакой магии, просто создается класс-наследник другого с одним пустым методом и объект этого класса.
Обычный класс какого-то плагина аля Babel(он преобразовывает синтаксис es5-es6-es7 в код который должен поддерживаться в старых браузерах). Прочитайте про es5 классы. Сразу увидите схожесть реализации. Сначала класс создали, потом сделали наследование, потом вызвали конструктор который наследует все от от родителя. А потом создали новый метод auth.
Продвижение своими сайтами как стратегия роста и независимости