L'Enum, ou énumération, est un moyen de donner des noms plus conviviaux à des ensembles de valeurs numériques. Par exemple :
enum Direction {
Up = 1,
Down,
Left,
Right,
}
enum Color {
Red = 1,
Green,
Blue,
}
Dans cet exemple, nous avons créé une énumération Color
avec trois membres : Red
, Green
et Blue
.
L'interface est un moyen puissant de définir des contrats au sein de votre code. Elle définit la syntaxe que les classes doivent suivre. Par exemple :
interface Point {
x: number;
y: number;
}
En TypeScript, il est courant d'utiliser une convention de nommage pour les interfaces où le nom commence par un "i" suivi de l'action ou de l'entité que l'interface représente. Cela aide à distinguer rapidement les interfaces des autres types. Voici un exemple en utilisant cette convention :
interface iShape {
draw(): void;
}
interface iCircle extends iShape {
radius: number;
}
Dans cet exemple, l'interface iCircle
hérite de la méthode draw()
de l'interface iShape
. Ainsi, toute classe qui implémente l'interface iCircle
doit non seulement définir la propriété radius
, mais aussi fournir une implémentation pour la méthode draw()
. Cette convention de nommage contribue à rendre le code plus clair et plus facile à comprendre.
En TypeScript, les interfaces peuvent être utilisées pour définir l'héritage, ce qui permet de créer une interface qui hérite des membres d'une autre interface. Voici un exemple :
interface Point {
x: number;
y: number;
}
interface ThreeDPoint extends Point {
z: number;
}
Dans cet exemple, ThreeDPoint
hérite des propriétés x
et y
de Point
, et introduit une nouvelle propriété z
. Ainsi, une variable de type ThreeDPoint
doit définir trois propriétés : x
, y
et z
.
Le Type permet de nommer un type quelconque, même s'il est complexe. Il est utile lorsque vous voulez réutiliser un type spécifique plusieurs fois et le nommer pour une meilleure lisibilité. Par exemple :
type Point = {
x: number;
y: number;
};
Voici un autre exemple de Type :