Ce README contient des exercices pratiques pour la partie 1, qui couvre l'introduction à TypeScript, la syntaxe de base, les types de données et les variables. Pensez à lire la documentation pour comprendre les types que vous allez utiliser lors de ces exercices.
- Installe Node.js et npm (si ce n'est pas déjà fait).
- Installe TypeScript globalement en utilisant la commande
npm install -g typescript
. - Crée un nouveau dossier pour ton projet et initialise un fichier
package.json
en utilisant la commandenpm init -y
. - Crée un fichier
tsconfig.json
avec la commandetsc --init
.
- Crée un fichier
basic-types.ts
dans ton projet. - Déclare des variables avec les types suivants :
string
,number
,boolean
,any
,unknown
,null
,undefined
,void
,never
,Array
, etTuple
. - Initialise les variables avec des valeurs appropriées et ajoute les dans des
console.log()
. - Compile le fichier TypeScript en JavaScript en utilisant la commande
tsc basic-types.ts
. - Exécute le fichier JavaScript généré avec Node.js en utilisant la commande
node basic-types.js
.
- Crée un fichier
enums-objects.ts
dans ton projet. - Déclare une énumération
DaysOfWeek
avec les jours de la semaine. - Crée un objet
person
avec les propriétésfirstName
,lastName
,age
, etdayOfBirth
(utilise l'énumérationDaysOfWeek
pour cette dernière propriété). - Compile et exécute le fichier comme dans l'exercice 2.
- Crée un fichier
functions-type-assertions.ts
dans ton projet. - Écris une fonction
add
qui prend deux paramètres de typenumber
et retourne leur somme. - Écris une fonction
greet
qui prend un paramètre de typestring
et retourne une chaîne de caractères de salutation. - Utilise des assertions de type pour convertir une variable de type
unknown
en un type spécifique (par exemple,string
ounumber
). - Compile et exécute le fichier comme dans l'exercice 2.
- Crée un fichier
classes.ts
dans ton projet. - Déclare une classe
Animal
avec les propriétésname
etage
, ainsi qu'une méthodespeak()
qui affiche un message dans la console. - Crée une classe
Dog
qui hérite de la classeAnimal
et redéfinit la méthodespeak()
pour afficher un message spécifique aux chiens. - Crée une classe
Cat
qui hérite de la classeAnimal
et redéfinit la méthodespeak()
pour afficher un message spécifique aux chats. - Instancie les classes
Dog
etCat
et appelle leur méthodespeak()
. - Compile et exécute le fichier comme dans les exercices précédents.
- Crée un fichier
interfaces.ts
dans ton projet. - Déclare une interface
Person
avec les propriétésfirstName
,lastName
etage
, ainsi qu'une méthodeintroduce()
qui retourne une chaîne de caractères. - Crée une classe
Student
qui implémente l'interfacePerson
et définit la méthodeintroduce()
. - Instancie la classe
Student
et appelle sa méthodeintroduce()
. - Compile et exécute le fichier comme dans les exercices précédents.
- Crée un fichier
decorators.ts
dans ton projet. - Déclare un décorateur de classe
logClass
qui affiche le nom de la classe décorée dans la console. - Déclare un décorateur de méthode
logMethod
qui affiche le nom de la méthode décorée et ses arguments dans la console. - Applique les décorateurs
logClass
etlogMethod
à une classe et à l'une de ses méthodes. - Compile et exécute le fichier comme dans les exercices précédents.
- Crée un fichier
generics.ts
dans ton projet. - Déclare une fonction générique
identity
qui prend un argument de type génériqueT
et retourne cet argument. - Utilise la fonction
identity
avec différents types de données (par exemple,string
,number
,boolean
). - Déclare une interface générique
KeyValuePair
avec deux types génériquesK
etV
, représentant une paire clé-valeur. - Crée une classe
Dictionary
qui implémente l'interfaceKeyValuePair
et permet de stocker des paires clé-valeur. - Instancie la classe
Dictionary
et ajoute quelques paires clé-valeur. - Compile et exécute le fichier comme dans les exercices précédents.
Exercices pratiques - Partie 3 : Modules, espaces de noms, gestion des erreurs et outils de développement
- Crée un fichier
math.ts
dans ton projet. - Exporte une fonction
add
qui prend deux paramètres de typenumber
et retourne leur somme. - Exporte une fonction
subtract
qui prend deux paramètres de typenumber
et retourne leur différence. - Crée un fichier
main.ts
dans ton projet. - Importe les fonctions
add
etsubtract
depuis le modulemath.ts
et utilise-les pour effectuer quelques opérations. - Compile et exécute le fichier
main.ts
comme dans les exercices précédents.
- Crée un fichier
shapes.ts
dans ton projet. - Déclare un espace de noms
Shapes
avec des classesCircle
etRectangle
. - Exporte les classes
Circle
etRectangle
depuis l'espace de nomsShapes
. - Crée un fichier
main-ns.ts
dans ton projet. - Importe les classes
Circle
etRectangle
depuis l'espace de nomsShapes
et instancie-les. - Compile et exécute le fichier
main-ns.ts
comme dans les exercices précédents.
- Crée un fichier
error-handling.ts
dans ton projet. - Écris une fonction
divide
qui prend deux paramètres de typenumber
et retourne leur quotient. - Ajoute une gestion des erreurs à la fonction
divide
pour vérifier si le diviseur est égal à zéro et, dans ce cas, lance une exception. - Utilise la fonction
divide
dans un bloctry-catch
pour gérer l'exception et afficher un message d'erreur approprié. - Compile et exécute le fichier comme dans les exercices précédents.
- Installe l'extension TypeScript pour ton éditeur de code préféré (par exemple, Visual Studio Code).
- Configure l'extension pour utiliser la version de TypeScript installée dans ton projet.
- Explore les fonctionnalités de l'extension, telles que la vérification de type en temps réel, les suggestions de code, la navigation dans le code et le débogage.
- Utilise les outils de développement pour améliorer la qualité de ton code et résoudre les problèmes plus rapidement.
Exercices pratiques - Partie 4 : Types avancés, utilitaires de type, décorateurs avancés et meilleures pratiques
- Crée un fichier
advanced-types.ts
dans ton projet. - Déclare un type
Person
avec les propriétésfirstName
,lastName
etage
. - Déclare un type
Employee
qui étend le typePerson
et ajoute une propriétéposition
. - Crée une fonction
printEmployee
qui prend un paramètre de typeEmployee
et affiche ses informations dans la console. - Utilise la fonction
printEmployee
avec un objet de typeEmployee
. - Compile et exécute le fichier comme dans les exercices précédents.
- Crée un fichier
type-utilities.ts
dans ton projet. - Utilise l'utilitaire de type
Partial
pour créer un typePartialPerson
basé sur le typePerson
défini précédemment. - Utilise l'utilitaire de type
Pick
pour créer un typePersonName
qui contient uniquement les propriétésfirstName
etlastName
du typePerson
. - Utilise l'utilitaire de type
Omit
pour créer un typePersonWithoutAge
qui exclut la propriétéage
du typePerson
. - Crée des objets de type
PartialPerson
,PersonName
etPersonWithoutAge
et utilise-les dans des fonctions ou des opérations appropriées. - Compile et exécute le fichier comme dans les exercices précédents.
- Crée un fichier
advanced-decorators.ts
dans ton projet. - Déclare un décorateur de propriété
logProperty
qui affiche le nom de la propriété décorée et sa valeur dans la console lorsqu'elle est modifiée. - Déclare un décorateur de paramètre
logParameter
qui affiche le nom du paramètre décoré et sa valeur dans la console lorsqu'il est passé à une méthode. - Applique les décorateurs
logProperty
etlogParameter
à une classe, à l'une de ses propriétés et à l'un de ses paramètres de méthode. - Compile et exécute le fichier comme dans les exercices précédents.
- Utilise des alias de type pour améliorer la lisibilité et la maintenabilité de ton code.
- Utilise des interfaces pour définir des contrats entre les classes et les objets.
- Préfère les
const
assertions pour les objets et les tableaux immuables. - Utilise des types génériques pour créer des fonctions et des classes réutilisables.
- Applique les principes SOLID pour améliorer la qualité et la flexibilité de ton code TypeScript.