In TypeScript, a Decorator refers to a special kind of declaration that is usually attached to a class declaration, method, accessor, property, or parameter. Decorators are functions that take their target as an argument. They allow you to run arbitrary code around the target execution or even replace the target with a new definition altogether.