simpler-extend

Simple 'extend' helper for inheritance and subclassing

Usage no npm install needed!

<script type="module">
  import simplerExtend from 'https://cdn.skypack.dev/simpler-extend';
</script>

README

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