Pregunta

Zepto.js

tiene un método para añadir clases y que se extiende a las subclases?

Una cuestión relacionada es: ¿Qué CoffeeScript le dan, en efecto, la capacidad de las clases de escritura y extenderlas sin necesidad de una biblioteca como prototipo que cuenta con métodos específicos para hacerlo

¿Fue útil?

Solución

A descremada de los espectáculos de origen Zepto.js Tiene un método $.extend que puede funcionar, pero es más bien una fusión de dos objetos implementación de un modelo de herencia tradicional (que proporcionaría cosas como descriptores de acceso Súper.)

CoffeeScript generará el código necesario para darle el modelo de herencia típica puede / no puede buscar.

class Person
    constructor: (@name) ->

class Ninja extends Person`

Salida:

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;
}();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top