Using Decorators

The Proxy class you saw so far in this chapter is very useful to synthesize or cook up your own dynamic methods and properties into existing classes. However, sometimes you want to bring a recipe of methods that someone else has created into your own classes and functions. In other words, you want to alter your classes or functions with metadata that, for example, a library or framework expects to find. This is where decorators come in.

JavaScript decorators serve a similar purpose as annotations in Java and attributes in C#—they offer a way to extend the capabilities of the subject that they decorate or annotate.

Let’s take a quick look at an example function declaration from Async and Await.

 const​ callCompute = ​async ...

Get Rediscovering JavaScript now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.