Angular

Services et Dependency Injection

Services, @Injectable, providedIn, dependency injection, hierarchical injectors, injection tokens, providers

20 questions d'entretien·
Junior
1

Qu'est-ce qu'un service dans Angular ?

Réponse

Un service est une classe TypeScript décorée avec @Injectable qui encapsule une logique métier ou des données partagées. Les services suivent le principe de séparation des responsabilités en extrayant la logique réutilisable hors des composants. Ils peuvent être injectés dans d'autres classes grâce au système de dependency injection d'Angular, favorisant ainsi la modularité et la testabilité du code.

2

Quel decorator permet de rendre une classe injectable dans Angular ?

Réponse

Le decorator @Injectable est obligatoire pour qu'une classe puisse être utilisée comme service dans le système d'injection de dépendances d'Angular. Ce decorator permet à Angular de générer les métadonnées nécessaires pour résoudre les dépendances du service. Sans @Injectable, le compilateur TypeScript ne conserverait pas les informations de types nécessaires à l'injection, causant des erreurs à l'exécution.

3

Quelle est la syntaxe correcte pour créer un service basique ?

Réponse

La syntaxe complète pour créer un service Angular inclut l'import du decorator Injectable depuis @angular/core, puis son application sur une classe avec l'option providedIn. Cette configuration moderne permet au service d'être automatiquement enregistré dans l'injector racine de l'application. L'option providedIn: 'root' est la meilleure pratique car elle permet le tree-shaking et garantit un singleton global.

4

Que signifie providedIn: 'root' dans @Injectable ?

5

Comment injecter un service dans un composant ?

+17 questions d'entretien

Maîtrise Angular pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement