simpler-extend

1.1.0 • Public • Published

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

Package Sidebar

Install

npm i simpler-extend

Weekly Downloads

1

Version

1.1.0

License

MIT

Last publish

Collaborators

  • rstacruz