oojs 6.0.0



OOjs is a JavaScript library for working with objects.

Key features include inheritance, mixins and utilities for working with objects.

/* Example */
function Animal() {}
function Magic() {}
function Unicorn() {
    Animal.call( this );
    Magic.call( this );
OO.inheritClass( Unicorn, Animal );
OO.mixinClass( Unicorn, Magic );

Quick start

This library is available as an npm package! Install it right away:

npm install oojs

Or clone the repo, git clone https://gerrit.wikimedia.org/r/oojs/core.

ECMAScript 5

OOjs requires a modern ECMAScript 5 environment. It is not necessarily compatible with ES3 engines (such as for IE 6-8). For ES3 environments, the old 1.x releases are available but not recommended.


We use the Semantic Versioning guidelines as much as possible.

Releases will be numbered in the following format:


For more information on SemVer, please visit http://semver.org/.

Bug tracker

Found a bug? Please report it in the issue tracker!