Skip to content

caseywebdev/herit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

herit

Build Status

Easy to use JavaScript "Class" inheritance with support for "instance" and "static" properties.

Install

In the browser, simply include the script on the page.

In Node, all you need to do is var herit = require('herit').

Usage

var Animal = herit({
  name: 'Chupacabra',
  sound: 'roarmeowbarkmoo',
  sing: function () {
    alert(this.name + ' says ' + Array(5).join(this.sound));
  }
});

var HardWorker = herit();

var Dog = herit(Animal, HardWorker, {
  name: 'Gunner',
  sound: 'woof'
}, {staticProp: 'hello'});

var Cat = herit(Animal, {
  name: 'Mittens',
  sound: 'meow'
});

(new Animal()).sing(); // alert('Chupacabra says roarmeowbarkmooroarmeowbarkmooroarmeowbarkmooroarmeowbarkmooroarmeowbarkmoo')
(new Cat()).sing(); // alert('Mittens says meow')
(new Dog()).sing(); // alert('Gunner says woof')

// (new Cat) instanceof Animal === true
// (new Cat) instanceof Cat === true

// Dog.staticProp === 'hello'
// (new Dog) instanceof Animal === true
// (new Dog) instanceof HardWorker === true
// (new Dog) instanceof Dog === true

About

Easy to use JavaScript "Class" inheritance with support for "instance" and "static" properties.

Resources

License

Stars

Watchers

Forks

Packages

No packages published