1.1.0 • Published 9 years ago

simpler-extend v1.1.0

Weekly downloads
4
License
MIT
Repository
github
Last release
9 years ago

simpler-extend

Simple 'extend' helper for inheritance and subclassing. Adapted from Backbone.js's Model.extend and CoffeeScript. This works like simple-extend, except this does not have any dependencies.

Status

Usage

Assign it to your base class's .extend:

function Shape() { ... }
Shape.extend = require('simpler-extend');

Then use it to subclass:

var Circle = Shape.extend({
  getArea: function () {
    return this.width * this.height;
  }
});

You can also add a constructor as constructor:

var Circle = Shape.extend({
  constructor: function () { ... }
});

Calling methods from the base class:

var Circle = Shape.extend({
  getArea: function () {
    var super = Shape.prototype.getArea.apply(this, arguments);
    return super * Math.PI;
  }
});

See Backbone.js's Model.extend documentation for more details.

Thanks

simpler-extend © 2015+, Rico Sta. Cruz. Released under the MIT License. Authored and maintained by Rico Sta. Cruz with help from contributors (list).

ricostacruz.com  ·  GitHub @rstacruz  ·  Twitter @rstacruz