oop.js is a lightweight pseudo-object-oriented library for extensible and reusable objects in JavaScript. oop.js works in the browser and in Node.JS projects.
Developed by aewing
Defining a new class:
$class('Bar').via(function() {
this.construct = function(a, b) {
this.a = a;
this.b = b;
};
this.name = 'Bar';
this.baz = function() {
return this.a + this.b;
}
});
Instantiating and using the class:
var bar = new Bar(5, 10);
console.log(bar.name, bar.baz());
Output:
Bar, 15
Extending our defined class:
$class('Foo').extends('Bar').via(function() {
this.name = 'Foo';
this.construct = function(a, b) {
this.a = a*2;
this.b = b*2;
};
});
var foo = new Foo(5,10);
console.log(foo.name, foo.baz());
Output:
Foo, 30
To install oop.js with Bower, type the following from your project directory:
bower install https://github.com/oopjs/oopjs.git
Then you can require('oopjs')
or you include the oop.js file, or in the browser:
<script src="bower_components/oopjs/src/oopjs/oop.js" type="text/javascript"></script>
To learn more, check out the documentation or try oop.js now.
- 6/28/2014 - Added proxy to $oop.new so class objects can be constructed normally
- 6/29/2014 - Added support for Node.JS & Bower