Coffeescript, Klassen & Zepto.js
-
28-09-2019 - |
Frage
Does Zepto.js haben ein Verfahren für die Klassen hinzugefügt und sich mit den Unterklassen?
Eine verbundene Frage ist: ist Coffeescript geben Sie in der Tat, die Fähigkeit zu schreiben Klassen und erweitern sie, ohne eine Bibliothek wie Prototyp benötigt, die bestimmte Methoden zu tun hat, so
Lösung
Eine Skim der Zepto.js Quelle zeigt es hat eine $.extend
Methode, die arbeiten kann, aber es ist eher eine Verschmelzung von zwei Objekten Implementierung als ein traditionelles Vererbungsmodell (die Dinge wie Super Accessoren bieten würde.)
Coffeescript wird der Code generiert erforderlich Ihnen das typische Vererbungsmodell geben Sie können / dürfen nicht suchen.
in:
class Person
constructor: (@name) ->
class Ninja extends Person`
aus:
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;
}();
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow