classic
Straightforward classes for node.js or web browsers
Installation
npm install --save classic
Usage
var classic = require('classic');
var Person = classic(function() {
this.constructor = function(firstname, lastname) {
this.firstname = firstname;
this.lastname = lastname;
};
this.name = function() {
return this.firstname + ' ' + this.lastname;
};
});
var p = new Person('john', 'doe');
p.name();
p instanceof Person;
var Actor = classic({
constructor: function(firstname, lastname, movieCount) {
Person.apply(this, arguments);
this.movieCount = movieCount;
},
name: function() {
return Person.prototype.name.call(this) + ', acted in ' +
this.movieCount + ' movies';
}
}, Person);
var a = new Actor('john', 'travolta', 42);
a.name();
p instanceof Person && p instanceof Actor;
var Director = Actor.extend(function() {
this.name = function() {
return Person.prototype.name.call(this) + ', directed ' +
this.movieCount + ' movies';
};
});
var d = new Director('quentin', 'tarantino', 42);
d.name();
p instanceof Person && p instanceof Actor && p instanceof Director;