Article ID Journal Published Year Pages File Type
433689 Science of Computer Programming 2015 17 Pages PDF
Abstract

We introduce traits.js, a small, portable trait composition library for Javascript. Traits are a more robust alternative to multiple inheritance and enable object composition and reuse. traits.js is motivated by two goals: first, it is an experiment in using and extending Javascript’s recently added meta-level object description format. By reusing this standard description format, traits.js can be made more interoperable with similar libraries, and even with built-in primitives. Second, traits.js makes it convenient to create “high-integrity” objects whose integrity cannot be violated by clients, an important property when web content is composed from mutually suspicious scripts. We describe the design of traits.js and provide an operational semantics for traits-js, a minimal calculus that models the core functionality of the library.

Related Topics
Physical Sciences and Engineering Computer Science Computational Theory and Mathematics