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 ...

Get Rediscovering JavaScript now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.