Я действительно стонаю с John Resig's simple inheritance method. У этого есть хороший синтаксис, и this._super супер мощный.Наследование класса Javascript с этим ._super и соответствующие дескрипторы defineProperty
Это 2014 жесткий, и я хочу, чтобы определить геттеры & сеттеры вместе с другими дескрипторами (но по-прежнему поддерживать простоту версии Resig, если это возможно).
Как бы я узнал об этом, сохранив синтаксис, родственный Resig's, который я так люблю?
Моя мечта что-то вроде этого:
var Person = Class.extend({
init: function(isDancing){
this.dancing = isDancing;
},
dance: function(){
return this.dancing;
}
tools: { // <---- this would be so awesome
get: function() { ... },
set: function(v) { ... },
enumerable: true
},
});
var Ninja = Person.extend({
init: function(){
this._super(false);
},
dance: function(){
// Call the inherited version of dance()
return this._super();
},
swingSword: function(){
return true;
},
tools: {
get: _super, // <---- and this too
set: function(v) {
this._super(v);
doSomethingElse();
}
}
});
Наследование никогда не ответ! Особенно не в javascript. – doliver