Décorateurs de paramètres et métadonnées
Utilisez des décorateurs de paramètres avec reflect-metadata
Décorateurs de paramètres et métadonnées est une leçon TypeScript Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage TypeScript Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours TypeScript Academy comprend 4 leçons au total.
Bienvenue
Introduction
Concept fondamental
@sealed
class BugReport {
type = 'report';
title: string;
constructor(t: string) { this.title = t; }
}Décorateur de classe
function sealed(constructor: Function) {
Object.seal(constructor);
Object.seal(constructor.prototype);
}Décorateur de méthode
function log(target: any, key: string, desc: PropertyDescriptor) {
const orig = desc.value;
desc.value = function(...args: any[]) {
console.log('Calling', key);
return orig.apply(this, args);
};
}Décorateur de propriété
function readonly(target: any, key: string) {
Object.defineProperty(target, key, { writable: false });
}Décorateur de paramètre
function required(target: any, key: string, index: number) {
const meta = Reflect.getMetadata('required', target, key) || [];
meta.push(index);
Reflect.defineMetadata('required', meta, target, key);
}Fabriques de décorateurs
function role(name: string) {
return function(target: any, key: string) {
Reflect.defineMetadata('role', name, target, key);
};
}
class UserController {
@role('admin')
deleteUser() {}
}Décorateurs NestJS
@Controller('users')
class UsersController {
constructor(private usersService: UsersService) {}
@Get()
findAll(): User[] {
return this.usersService.findAll();
}
}reflect-metadata
import 'reflect-metadata';
// Enable in tsconfig: experimentalDecorators: true, emitDecoratorMetadata: trueOrdre des décorateurs
@first
@second
class Example {}
// Applied: second first, then firstVérification rapide
Récapitulatif
Questions Fréquemment Posées
La leçon « Décorateurs de paramètres et métadonnées » est-elle gratuite ?
Oui — le texte complet de « Décorateurs de paramètres et métadonnées » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours TypeScript Academy, passe à CoddyKit PRO. Le cours TypeScript Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Décorateurs de paramètres et métadonnées » ?
Utilisez des décorateurs de paramètres avec reflect-metadata Tu pratiques TypeScript Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer TypeScript Academy ?
Aucune expérience préalable n'est requise. TypeScript Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Décorateurs de paramètres et métadonnées » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon TypeScript Academy ?
Oui. Chaque leçon TypeScript Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Décorateurs de classes : envelopper un comportement
- Décorateurs de méthodes et de propriétés
- Décorateurs de paramètres et métadonnées
- Décorateurs dans les frameworks : exemple avec NestJS