Normalizing Object-oriented Class Styles in JavaScript

JavaScript is the most widely used client-side scripting language, and has become increasingly popular as a crucial component of the AJAX technology. JavaScript is a dynamic, weakly typed, multi-paradigm programming language that supports object-oriented, imperative, and functional programming style...

Full description

Bibliographic Details
Main Author: Gama, WIDD
Other Authors: Queen's University (Kingston, Ont.). Theses (Queen's University (Kingston, Ont.))
Language:en
en
Published: 2013
Subjects:
Online Access:http://hdl.handle.net/1974/7754
Description
Summary:JavaScript is the most widely used client-side scripting language, and has become increasingly popular as a crucial component of the AJAX technology. JavaScript is a dynamic, weakly typed, multi-paradigm programming language that supports object-oriented, imperative, and functional programming styles. Many di erent programmers appreciate this exibility when implementing complex and interactive web applications. This wide range of possible styles can hinder program comprehension and make maintenance di cult, especially in large projects involving many di erent programmers. A particular problem is the several di erent ways in which objectoriented classes can be expressed in JavaScript. In this work we aim at enhancing the maintainability of object-oriented JavaScript applications by automatically normalizing the representation of classes to a single model. We begin by analyzing the di erent ways that JavaScript programmers have represented the class concept, identifying and cataloguing the di erent class patterns used in the language. We choose one of these, and show how it is possible to automatically migrate JavaScript applications from any mix of class styles to the chosen one, making it easier to understand and maintain object-oriented JavaScript programs. === Thesis (Master, Computing) -- Queen's University, 2013-01-22 09:29:10.693