AspectScript: Expressive Aspects for the Web

Date Added: Oct 2009
Format: PDF

JavaScript is widely used to build increasingly complex Web applications. Unsurprisingly, these applications need to address crosscutting concerns. Therefore support for aspect-oriented programming is crucial to preserve proper modularity. However, there is no aspect-oriented extension of JavaScript that fully embraces the characterizing features of that language: dynamic prototype-based programming with higher-order functions. In this paper, the authors present AspectScript, a full-fledged AOP extension of JavaScript that adopts higher-order programming and dynamicity as its core design principles. In AspectScript, pointcuts and advices are standard JavaScript functions, bringing the benefits of higher-order programming patterns to define aspects.