Introducción
TypeScript 5.0 introdujo soporte oficial para decoradores ECMAScript estándar (Stage 3/4), reemplazando los experimentales.
Decoradores experimentales vs estándar
Los experimentales requerían experimentalDecorators: true. Los estándar funcionan por defecto y reciben un objeto context con metadatos tipados.
Escribir un decorador de método estándar
function logMethod<This, Args extends any[], Return>(
target: (this: This, ...args: Args) => Return,
context: ClassMethodDecoratorContext<This, ...>
) { return function(this: This, ...args: Args): Return { ... }; }
Consideraciones de migración
- Verifica compatibilidad con reflect-metadata antes de deshabilitar flags experimentales.
- Los decoradores de parámetros fueron excluidos del estándar final. Solo pueden targetizar clases, métodos, campos y accessors.

