https://github.com/caseywebdev/herit
Easy to use JavaScript "Class" inheritance with support for "instance" and "static" properties.
https://github.com/caseywebdev/herit
Last synced: 7 months ago
JSON representation
Easy to use JavaScript "Class" inheritance with support for "instance" and "static" properties.
- Host: GitHub
- URL: https://github.com/caseywebdev/herit
- Owner: caseywebdev
- License: mit
- Created: 2013-01-23T16:33:21.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2015-06-02T16:54:41.000Z (about 11 years ago)
- Last Synced: 2025-04-10T10:11:51.999Z (about 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 176 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# herit
[](http://travis-ci.org/caseywebdev/herit)
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
```js
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
```