Décorateurs de Méthode & Paramètres
Un décorateur de méthode permet d'en modifier le comportement par "wrapping".
Le décorateur en exemple ci-dessous n'opère aucun changement.
const Noop = () => (target, key: string) => {
return target[key];
};
class Calculator {
@Noop()
sum(a, b) {
console.log('computing...');
return a + b;
}
}
const calculator = new Calculator();Remarquez le pattern de "currying" très fréquent dans l'implémentation de décorateurs.
La syntaxe suivante :
const Noop = () => {
return (target, key) => {
return target[key];
};
}... est identique à celle-ci :
A consommer avec modération.
Les décorateurs de paramètres permettent principalement d'ajouter des metadata à la classe pour que les décorateurs de méthode puissent s'en servir.
Mémorisation des résultats
Le décorateur ci-dessous construit progressivement un objet de mémorisation permettant de "mapper" les paramètres au dernier résultat obtenu afin d'éviter de refaire le même calcul inutilement.
Contract checking en runtime
Last updated
Was this helpful?