One of the nice underused features of Angular is the support for decorators (through Typescript). From the Typescript documentation: A Decorator is a special kind of declaration that can be attached to a class declaration , method , accessor , property , or parameter . Decorators use the form @expression , where expression must evaluate to a function that will be called at runtime with information about the decorated declaration. A nice example of the usage of decorators is the ngx-auto-unsubscribe library. This Class decorator that will automatically unsubscribe from observable subscriptions when the component is destroyed. An example: