OOjs
OOjs (short for "Object-oriented JavaScript") is a JavaScript library for working with objects. Features include inheritance , mixins , static inheritance and additional utilities for working with objects and arrays. It also provides an EventEmitter mixin for event-driven programming, and a factory pattern for decoupling consumers of functionality from any particular class's implementation.
Ti̍k-sik
Sîng-siū
OO.inheritClass( childClass, parentClass )
Extend prototype and static methods and properties of child constructor from a parent constructor.
OO.mixinClass( childClass, parentClass )
Copy prototype and static methods and properties to a child constructor from a parent constructor.
Initialise a base class to be inherited by, or mixed into, a child class. Only required for classes that do not inherit or mixin other classes.
Ua̍h-tāng
Allow event handlers to be attached, called when events occur, and detached.
Tsù-tsheh hām Kang-tiûnn
Provide a simple map interface for associating arbitrary data with a symbolic name.
Registry of classes with instantiation abstraction.
Kong-iōng sū-gia̍p
See the API documentation for a complete reference of available utilities.
Kiam-iông-sìng
OOjs is optimised for modern ECMAScript 5 environments. The source code is compatible with the older ECMAScript 3 engine (such as in older versions of Internet Explorer, broadly speaking IE8 and before), but users need a polyfill to provide required ECMAScript 5 methods.
It is packaged to be run in either Web browsers or Node.js.
Bīng-miâ khong-kan
In the presence of a module system, such as in Node.js, OOjs exports all of its classes and methods.
In other environments, such as Web browsers, a global variable is created named OO
.
You may access OO
the same way you would access jQuery
or mediaWiki
.
If you are using eslint, you should add the following to your .eslintrc.json
file.
"globals": {
"OO": "readonly"
}
Tsham-ua̍t
OOjs
|
Guā-pōo liân-kiat
- Source code on phabricator.wikimedia.org/diffusion/ (GitHub mirror)
- Package on npmjs.org
- Phabricator project (issue tracker)
- API Documentation
OOjs is maintained by the Editing department.
Get help:
|