Chuck's Academy

TypeScript Básico

Decoradores en TypeScript

Los decoradores en TypeScript son una poderosa característica que permite modificar el comportamiento de clases, métodos, propiedades y parámetros de manera flexible y reutilizable. Esta característica está inspirada en lenguajes como Python y es ampliamente utilizada en frameworks como Angular.

Esta imagen muestra un logo de typscript decoratorsEsta imagen muestra un logo de typscript decorators

Introducción a los Decoradores

Un decorador es una función que se aplica a una clase, método, propiedad o parámetro, y puede modificar su comportamiento. Para utilizar decoradores, es necesario habilitar esta característica en el archivo tsconfig.json:

json
"En este archivo tsconfig.json, habilitamos la opción experimentalDecorators para poder usar decoradores en TypeScript."

Sintaxis de un Decorador

Un decorador es simplemente una función que recibe como argumento el elemento que está decorando. Veamos un ejemplo básico:

typescript
"En este ejemplo, definimos un decorador llamado log que se aplica al método add de la clase Calculator. Cada vez que se llama a add, el decorador imprime un mensaje en la consola con los argumentos."

Tipos de Decoradores

Decorador de Clase

Un decorador de clase se aplica a la definición de una clase y puede modificar su comportamiento. El decorador recibe el constructor de la clase como argumento.

typescript
"Aquí, el decorador sealed aplica la función Object.seal al constructor de la clase Person, evitando que se añadan o eliminen propiedades de la clase o de su prototipo."

Decorador de Método

Los decoradores de métodos se aplican a los métodos de una clase. Pueden modificar el comportamiento de los métodos, como hemos visto en el ejemplo anterior.

Decorador de Propiedad

Un decorador de propiedad se utiliza para modificar el comportamiento de una propiedad. Este decorador no puede acceder al valor de la propiedad, solo puede modificar su configuración.

typescript
"En este ejemplo, el decorador readonly se aplica a la propiedad brand de la clase Car, haciendo que la propiedad sea de solo lectura."

Decorador de Parámetro

Un decorador de parámetro se aplica a los parámetros de un método y puede ser utilizado para inspeccionar o modificar el valor de los parámetros.

typescript
"Este ejemplo muestra un decorador de parámetro llamado logParameter que registra en la consola el índice del parámetro al que se aplica en el método greet."

Decoradores en Frameworks

Los decoradores son ampliamente utilizados en frameworks como Angular, donde se utilizan para definir componentes, servicios y otras partes de la aplicación. Por ejemplo, en Angular, el decorador @Component se utiliza para definir un componente:

typescript
"Este ejemplo muestra cómo se usa el decorador @Component en Angular para definir un componente. El decorador define el selector, la plantilla y los estilos asociados con el componente."

Conclusión

En este capítulo, hemos aprendido qué son los decoradores en TypeScript y cómo utilizarlos para modificar el comportamiento de clases, métodos, propiedades y parámetros. Los decoradores son una herramienta poderosa que se usa ampliamente en frameworks como Angular para estructurar aplicaciones complejas de manera limpia y eficiente.


Pregúntame lo que sea