Первый раз вижу такой код.. не пойму, что тут происходит?
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.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок