24.03.2013, 17:27
|
|
Профессор
|
|
Регистрация: 18.01.2013
Сообщений: 1,098
|
|
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
|
|
24.03.2013, 17:42
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от megaupload
|
твой брат родил или сестра)?
|
У брата сынишка родился
|
|
24.03.2013, 17:44
|
|
Профессор
|
|
Регистрация: 18.01.2013
Сообщений: 1,098
|
|
охуенно, а сколько вам лет )?
|
|
24.03.2013, 17:45
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от megaupload
|
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
|
TypeScript прикольная штука
|
|
24.03.2013, 17:45
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от megaupload
|
охуенно, а сколько вам лет )?
|
Мне 23, а брату 25)
|
|
24.03.2013, 18:05
|
|
Профессор
|
|
Регистрация: 18.01.2013
Сообщений: 1,098
|
|
Сообщение от kobezzza
|
TypeScript прикольная штука
|
а что лучше ECMA 6 транслируемый в ECMA3 или Typescript транслируемый в ECMA3)?
|
|
24.03.2013, 18:11
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от megaupload
|
а что лучше ECMA 6 транслируемый в ECMA3 или Typescript транслируемый в ECMA3)?
|
Лучше ECMA6 работающий нативно во всех современных браузерах) Ну а так мне наверно трудно сказать, т.к. я этих зверей ещё на реальных проектах не пробовал, хотя TypeScript похож C# и ActionScript3 и лично для меня это плюс, т.к. я работал с этими двумя языками и мне в общем они оч нравились.
Кстати поиграйся с Coffee, он ппц сахарный, куда более сахарнее, чем TypeScript. Рекомендую прочитать Марк Бейтс Coffee Script.
Последний раз редактировалось kobezzza, 24.03.2013 в 18:15.
|
|
24.03.2013, 18:18
|
|
Профессор
|
|
Регистрация: 18.01.2013
Сообщений: 1,098
|
|
меня бесит синтаксис кофя... он пиздец какой неочевидный это факт.
ну как я понял typescript его суть именно в проверке типов перед компиляцией и все, а строгая типизация позволяет движкам компилить более быстрый байткод... а в ECMA6 такое есть?
functionm test (lol:string, qq:Cat){
}
|
|
24.03.2013, 18:20
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от megaupload
|
меня бесит синтаксис кофя... он пиздец какой неочевидный это факт.
|
Это как посмотреть. Я вот начал присматриваться у Питону и Кофе сразу стал становится приятным По началу меня он тоже бесил.
Цитата:
|
а в ECMA6 такое есть?
|
В экме такое давно есть, тот же ActionScript3 тоже реализует синтаксис ECMA и там есть и возможность указывания типов (не обязательное) и классы и неймспейсы (пакеты, как в Java). Хотя наверно ECMAScript дробится на разные ветки, т.к. реализация JS идёт немного по другому.
В новом стандарте JS вроде как должны появится способы проверки входных параметров функций, но не более того.
Последний раз редактировалось kobezzza, 24.03.2013 в 18:26.
|
|
24.03.2013, 18:24
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
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();
То есть на сегодняшний день этот код должен примерно так выглядеть?
|
|
|
|