Un lait écrémé de la source Zepto.js montre qu'il a une méthode $.extend
qui peut fonctionner, mais il est plus d'une fusion de deux objets mise en œuvre d'un modèle d'héritage traditionnel (qui fournirait des choses comme Super accesseurs.)
CoffeeScript générera le code requis pour vous donner le modèle d'héritage typique que vous pouvez/ne pouvez pas rechercher.
dans:
class Person
constructor: (@name) ->
class Ninja extends Person`
sur:
var Ninja, Person;
var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) {
for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; }
function ctor() { this.constructor = child; }
ctor.prototype = parent.prototype;
child.prototype = new ctor;
child.__super__ = parent.prototype;
return child;
};
Person = function() {
function Person(name) {
this.name = name;
}
return Person;
}();
Ninja = function() {
function Ninja() {
Ninja.__super__.constructor.apply(this, arguments);
}
__extends(Ninja, Person);
return Ninja;
}();