Classical Object-Oriented Programming with ECMAScript
ECMAScript (more popularly known by the name “JavaScript”) is the language of the web. In the decades past, it has been used to augment web pages with trivial features and obnoxious gimmicks. Today, the language is used to write full-featured web applications that rival modern desktop software in nearly every regard and has even expanded to create desktop and server software. With increased usage, there is a desire to apply more familiar development paradigms while continuing to take advantage of the language's incredibly flexible functional and prototypal models. Of all of the modern paradigms, one of the most influential and widely adopted is the Classical Object-Oriented paradigm, as represented in languages such as Java, C++, Python, Perl, PHP and others. ECMAScript, as an object-oriented language, contains many features familiar to Classical OO developers. However, certain features remain elusive. This paper will detail the development of a classical object-oriented framework for ECMAScript — ease.js — which aims to address these issues by augmenting ECMAScript's prototype model to allow the creation of familiar class-like objects. This implementation enforces encapsulation and provides features that most Classical OO developers take for granted until the time that ECMAScript implements these features itself.