Classes in JackyJS are not exactly like the classes you would expect from a traditional OOP (object oriented programming) language like C++ for example. This is due to Javascript not being an actual OOP language. The newest implementation of ECMAScript (ES6) has decent adoption across desktop and mobile browsers, but for maximum compatibility - especially with older devices being used in emerging markets - JackyJS uses vanilla Javascript to make everything work.

This means classes in JackyJS behave in a somewhat similar manner to what a traditional OOP programmer would expect, but with some exceptions. For instance, one exception is you don't have to use the new keyword when creating a new entity object. The general idea is the same though; you invoke a create method, pass some required parameters, pass some options, and end up with a new entity object. These objects can of course be stored in local variables in order to access their properties and invoke their events.

JackyJS Classes are a mixed bag, and thus vary from class to class; ie, some have static properties and/or static methods and others do not. As you scroll this list you will see either a (static) or (object) label to denote which properties and methods are static to the entire class or scoped at the object level. However, if not denoted, this means that it does not apply to the class because no object is created.

TIP: when naming your assets and entities, DO NOT use spaces! Numbers, letters, hyphens, and underscores are OK.

JackyJS supports the following Classes: