class-extend
v0.1.2
Published
Backbone like Class.extend utility for Node
Downloads
53,753
Readme
Class.extend
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.