Обнаружение источника Zepto.js показывает, что у него есть метод $.extend
, который может работать, но это скорее объединение двух объектов, чем традиционная модель наследования (которая обеспечивает такие вещи, как средства доступа Super).
CoffeeScript сгенерирует код, необходимый для предоставления вам типичной модели наследования, которую вы можете / не можете искать.
в:
class Person
constructor: (@name) ->
class Ninja extends Person`
из
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;
}();