class-extend

0.1.2 • Public • Published

Class.extend Build Status

Backbone's .extend like inheritance helper for Node.js

Usage

You basically got two options:

// 1. Extend from the blank class
var Base = require('class-extend');
var Sub = Base.extend();
 
// 2. Add the .extend helper to a class
MyClass.extend = require('class-extend').extend;

.extend()

.extend allow you to assign prototype and static methods.

If no constructor method is assigned, the parent constructor method will be called by default.

// Extend a class
var Sub = Parent.extend({
  // Overwrite the default constructor
  constructor: function () {},
 
  // Sub class prototypes methods
  hello: function () { console.log('hello'); }
}, {
  // Constructor static methods
  hey: function () { console.log('hey'); }
});
 
Sub.hey();
// LOG: hey
 
var instance = new Sub();
instance.hello();
// LOG: hello

.__super__

Sub classes are assigned a __super__ static property pointing to their parent prototype.

var Sub = Parent.extend();
assert(Sub.__super__ === Parent.prototype);

License

Copyright (c) 2013 Simon Boudrias
Licensed under the MIT license.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.1.2
    48,812
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.1.2
    48,812
  • 0.1.1
    0
  • 0.1.0
    0

Package Sidebar

Install

npm i class-extend

Weekly Downloads

41,908

Version

0.1.2

License

MIT

Last publish

Collaborators

  • sboudrias