Featured image of post Cómo usar decoradores estándar en TypeScriptFeatured image of post Cómo usar decoradores estándar en TypeScript

Cómo usar decoradores estándar en TypeScript

Learn how to write and configure ECMAScript standard decorators in TypeScript 5.0 without relying on legacy experimental flags.

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

  1. Verifica compatibilidad con reflect-metadata antes de deshabilitar flags experimentales.
  2. Los decoradores de parámetros fueron excluidos del estándar final. Solo pueden targetizar clases, métodos, campos y accessors.