This document discusses JavaScript decorators, which allow customization of classes and functions at class creation time. Decorators restore flexibility to class syntax and are similar to Python decorators. Class and method decorators are functions that take a class or method and act on it at creation time. Decorators enable cleaner interfaces, class properties, and mixins. Decorators are proposed for inclusion in ES2016 and are already available in TypeScript and with Babel. Major frameworks like Angular2 and Aurelia use decorators.