Appearance
Les namespaces
Les namespaces en TypeScript sont un moyen de regrouper des fonctionnalités logiquement liées et de gérer les noms dans des programmes plus vastes. En encapsulant des classes, interfaces, fonctions et variables au sein de namespaces, vous pouvez éviter la pollution de l'espace de noms global et organiser votre code de manière plus structurée.
Utilisation des Namespaces
Pour définir un namespace, utilisez le mot-clé namespace
suivi du nom du namespace et d'un bloc contenant ses membres.
typescript
namespace MonNamespace {
export class MaClasse {
// ...
}
export function maFonction() {
// ...
}
}
Dans cet exemple, MaClasse
et maFonction
sont membres du MonNamespace
. Le mot-clé export
est utilisé pour rendre les membres accessibles à l'extérieur du namespace.
Accès aux Membres du Namespace
Pour accéder à des membres d'un namespace, utilisez le nom du namespace suivi d'un point et du nom du membre.
typescript
let objet = new MonNamespace.MaClasse();
MonNamespace.maFonction();
Imbrication de Namespaces
Les namespaces peuvent être imbriqués pour une organisation plus détaillée.
typescript
namespace MonNamespace {
export namespace SousNamespace {
export class AutreClasse {
// ...
}
}
}
let autreObjet = new MonNamespace.SousNamespace.AutreClasse();
Namespaces et Modules
Bien que les namespaces puissent ressembler aux modules ES6, ils ont des objectifs différents :
- Les namespaces sont principalement utilisés pour organiser le code au sein d'un même script ou projet.
- Les modules sont utilisés pour organiser et encapsuler du code entre différents fichiers et gérer les dépendances entre eux.
Avantages des Namespaces
- Prévention des Conflits : Aident à éviter les conflits de noms dans l'espace de noms global, surtout dans les gros projets.
- Organisation du Code : Permettent de regrouper et d'organiser logiquement des parties de code liées.
- Contrôle de Visibilité : Offrent un contrôle sur la visibilité des membres