📄️ Qu'est-ce que TypeScript?
Cette section est fournie à titre d'activité exploratoire personnelle pour découvrir ou vous rafraichir la mémoire sur TypeScript.
📄️ Démarrer avec TypeScript
Assurez-vous d'avoir TypeScript et son compilateur d'installé globablement (voir Préparation de l'environnement de développement dans la section Découverte et préparation)
📄️ Déclaration de variables
En TypeScript, les variables peuvent être déclarées en utilisant var, let ou const
📄️ Les types
JavaScript défini trois primitives (données qui ne sont pas des objets): string, number, boolean. TypeScript définit aussi trois types qui possèdent le même nom.
📄️ Assertion de types
Parfois, vous aurez l'information sur un type que TypeScript ignore. Vous pouvez utiliser l'assertion de types dans ces situations.
📄️ Fonctions anonymes (arrow functions)
Il est possible en JavaScript (et en TypeScript) de définir une fonction qui n'a pas de nom (fonction anonyme) et/ou d'assigner une fonction anonyme à une variable. Elles sont utiles puisqu'elles peuvent être passées en argument à d'autres fonctions.
📄️ Interfaces
Imaginons que nous développons un jeu vidéo et que nous devions détecter s'il y a une collision entre deux joueurs. Dans le but de simplifier, nous assumerons que les joueurs ne sont définis que par des points ayant des coordonnées x, y et z.
📄️ Classes et objets
Bien que la définition d'une interface pour le type Position soit utile pour simplifier le code, la fonction collisionJoueurs pourrait faire partie de Position.
📄️ Constructeurs
Il est redondant d'écrire trois lignes pour chaque objet afin de définir les coordonnées d'une position, il serait beaucoup plus logique de les définir au moment de créer l'objet.
📄️ Modificateurs d'accès
Il est possible de définir qui peut accéder aux attributs de la classe de la façon suivante:
📄️ Modificateurs d'accès dans le constructeur
Pour simplifier la définition de la classe, ainsi que le constructeur, il est possible de définir les propriétés de la classe et leur modificateur d'accès dans la définition du constructeur.
📄️ Propriétés get/set
Souvent, la raison derrière les attributs privés est simplement que nous voulons mettre certaines contraintes sur les valeurs.
📄️ Modules (export/import)
Jusqu'à maintenant, nous avons mis l'entièreté du code dans un fichier main.ts. Il serait plus élégant de déplacer les détails relatifs à la classe Position dans son propre fichier position.ts
📄️ Fichier tsconfig.json
TypeScript propose un format de fichier, sous le nom de tsconfig.json contenant des configurations de compilateur lorsque les besoins deviennent plus pointus et qu'il faut spécifier des paramètres au compilateur, comme la version de JS par exemple..