class Animal {
animal = 'animal';
say() {
alert('i animal')
}
}
class Cat extends Animal {
cat = 'cat';
say() {
super.say();
alert('and i cat')
}
}
new Cat().say();
а получается так
var __extends = this.__extends || function (d, b) {
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
};
var Animal = (function () {
function Animal() {
this.animal = 'animal';
}
Animal.prototype.say = function () {
alert('i animal');
};
return Animal;
})();
var Cat = (function (_super) {
__extends(Cat, _super);
function Cat() {
_super.apply(this, arguments);
this.cat = 'cat';
}
Cat.prototype.say = function () {
_super.prototype.say.call(this);
alert('and i cat');
};
return Cat;
})(Animal);
new Cat().say();
//@ sourceMappingURL=td.js.map
|
Цитата:
|
охуенно, а сколько вам лет )?
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Кстати поиграйся с Coffee, он ппц сахарный, куда более сахарнее, чем TypeScript. Рекомендую прочитать Марк Бейтс Coffee Script. |
меня бесит синтаксис кофя... он пиздец какой неочевидный это факт.
ну как я понял typescript его суть именно в проверке типов перед компиляцией и все, а строгая типизация позволяет движкам компилить более быстрый байткод... а в ECMA6 такое есть?
functionm test (lol:string, qq:Cat){
}
|
Цитата:
Цитата:
В новом стандарте JS вроде как должны появится способы проверки входных параметров функций, но не более того. |
var Animal = function () {
this.animal = 'animal';
};
Animal.prototype.say = function () {
alert('i animal');
};
var Cat = function () {
Animal.apply(this, arguments);
this.cat = 'cat';
}
Cat.prototype = Object.create(Animal.prototype, {
constructor: {value: Cat, writable: true, enumerable: false, configurable: true}
});
Cat.prototype.say = function () {
Animal.prototype.say.call(this);
alert('and i cat');
};
new Cat().say();
То есть на сегодняшний день этот код должен примерно так выглядеть? |
| Часовой пояс GMT +3, время: 22:16. |