Introducci贸n a los decoradores en TypeScript
Con la aparici贸n de las clases en ECMAScript en ES6, existen algunos nuevos escenarios en los cuales se agrega soporte adicional mediante anotaciones a las clases y los elementos que las componen. Los decoradores proveen una forma de agregar anotaciones y meta-programming syntax (sintaxis de meta-programaci贸n) para la declaraci贸n de clases y sus miembros. Los decoradores se encuentran en la fase 2 proposal (fase 2 de propuesta) para JavaScript, y est谩n disponibles como una caracter铆stica experimental de TypeScript.
驴C贸mo agregar soporte experimental en TypeScript?
Para habilitar el soporte experimental para habilitar decoradores, se debe habilitar la propiedad experimentalDecorators
en la configuraci贸n del compilador, ya sea como par谩metro en la l铆nea de comandos o en el archivo tsconfig.json.
驴Como habilitar los decoradores de TypeScript desde la l铆nea de comandos?
$ tsc --target ES5 --experimentalDecorators
驴C贸mo habilitar decoradores desde el archivo de configuraci贸n tsconfig.json?
{
"compilerOptions": {
"target": "ES5",
"experimentalDecorators": true
}
}
驴Qu茅 es un decorador?
Un decorador es un tipo especial de declaraci贸n que puede ser asociada a la declaraci贸n de una clase, m茅todo, accesor, propiedad o par谩metro. Los decoradores usan la forma @expression
, en donde expression
debe ser evaluado como una funci贸n que ser谩 llamada en tiempo de ejecuci贸n con informaci贸n acerca de la declaraci贸n decorada.
Por ejemplo, dado el decorador @sellado
podemos escribir una funci贸n como la siguiente.
function sellado() {
// hacer algo
}