Énoncés des TPs - Objets, Contrôle et Nouveautés
TP 1 : Créer et Utiliser des Objets
Vous devez créer et manipuler des objets JavaScript.
Exercice 1.1 : Créer un objet simple
- Créez un objet
utilisateuravec les propriétés :nom,age,ville - Accédez à chaque propriété et affichez-les
- Modifiez la ville
- Affichez l’objet complet
Exercice 1.2 : Ajouter des méthodes
- Créez un objet
personneavecnom,age - Ajoutez une méthode
sePresenter()qui retourne une phrase - Ajoutez une méthode
anniversaire()qui augmente l’âge de 1 - Testez les deux méthodes
Exercice 1.3 : Propriétés avec espaces
- Créez un objet avec une propriété
'date de naissance' - Accédez à cette propriété avec les crochets
- Modifiez-la
- Vérifiez la modification
Exercice 1.4 : Accès dynamique
- Créez un objet avec plusieurs propriétés
- Créez une variable
cle = 'nom' - Accédez à la propriété en utilisant la variable
- Changez la variable et testez avec une autre propriété
Exercice 1.5 : Vérifier l’existence d’une propriété
- Créez un objet
- Vérifiez si une propriété existe avec
Object.hasOwn() - Testez avec une propriété qui existe et une qui n’existe pas
TP 3 : Object.keys(), values(), entries()
Vous devez extraire et manipuler les données d’un objet.
Exercice 3.1 : Object.keys()
- Créez un objet
utilisateuravec 5 propriétés - Utilisez
Object.keys()pour récupérer toutes les clés - Affichez-les dans la console
- Comptez le nombre de propriétés
Exercice 3.2 : Object.values()
- Utilisez
Object.values()pour récupérer toutes les valeurs - Affichez-les
- Calculez la somme si ce sont des nombres
Exercice 3.3 : Object.entries()
- Utilisez
Object.entries()pour récupérer les paires clé-valeur - Parcourez les entrées avec une boucle
- Affichez chaque paire au format “clé: valeur”
Exercice 3.4 : Fusionner des objets
- Créez deux objets :
base = { nom: 'Eva', age: 25 }etajout = { ville: 'Lyon' } - Utilisez
Object.assign()pour fusionner - Vérifiez que l’objet original n’est pas modifié
- Créez un nouvel objet avec les deux
TP 4 : Conditions - if/else et Ternaire
Vous devez utiliser les structures conditionnelles.
Exercice 4.1 : if/else simple
- Créez une variable
age = 22 - Utilisez if/else pour afficher “Mineur” ou “Majeur”
- Testez avec différents âges
Exercice 4.2 : if/else if/else
- Créez une variable
note = 14 - Affichez :
- “Excellent” si note >= 18
- “Bien” si note >= 14
- “Moyen” si note >= 10
- “Faible” sinon
Exercice 4.3 : Ternaire
- Utilisez l’opérateur ternaire pour simplifier les conditions
- Créez une variable
statut = age >= 18 ? 'Majeur' : 'Mineur' - Testez avec différents âges
Exercice 4.4 : Conditions imbriquées
- Créez deux variables :
ageetpermis - Affichez :
- “Peut conduire” si age >= 18 ET permis === true
- “Trop jeune” si age < 18
- “Pas de permis” sinon
TP 5 : Switch et Pattern Matching
Vous devez utiliser switch pour plusieurs cas.
Exercice 5.1 : Switch simple
- Créez une variable
role = 'admin' - Utilisez switch pour afficher :
- “Accès complet” si admin
- “Modération” si moderator
- “Lecture seule” sinon
Exercice 5.2 : Switch avec nombres
- Créez une variable
jour = 3(1=lundi, 7=dimanche) - Affichez le nom du jour avec switch
Exercice 5.3 : Switch(true) pour conditions complexes
- Créez une variable
age = 22 - Utilisez
switch(true)pour afficher :- “Enfant” si age < 12
- “Ado” si age < 18
- “Adulte” si age < 65
- “Senior” sinon
Exercice 5.4 : Switch avec types
- Créez une variable avec différents types (string, number, array, object)
- Utilisez switch(true) pour vérifier le type et afficher un message
TP 6 : Boucles - for…of et for…in
Vous devez parcourir des données avec les bonnes boucles.
Exercice 6.1 : for…of avec tableaux
- Créez un tableau
notes = [12, 15, 18, 14] - Utilisez for…of pour afficher chaque note
- Calculez la somme
- Calculez la moyenne
Exercice 6.2 : for…in avec objets
- Créez un objet
utilisateur = { nom: 'Eva', age: 25, ville: 'Lyon' } - Utilisez for…in pour afficher chaque propriété
- Affichez au format “clé: valeur”
Exercice 6.3 : for…of vs for…in
- Créez un tableau et un objet
- Montrez la différence entre for…of et for…in
- Expliquez quand utiliser l’un ou l’autre
Exercice 6.4 : Boucle while
- Créez un compteur
i = 0 - Utilisez while pour afficher les nombres de 0 à 9
- Modifiez pour afficher seulement les nombres pairs
Exercice 6.5 : do…while
- Créez une boucle do…while qui s’exécute au moins une fois
- Testez avec une condition fausse
TP 7 : Gestion des Erreurs - try/catch/finally
Vous devez gérer les erreurs correctement.
Exercice 7.1 : try/catch simple
- Créez une fonction
diviser(a, b) - Si b === 0, lancez une erreur avec
throw new Error() - Capturez l’erreur avec try/catch
- Affichez le message d’erreur
Exercice 7.2 : try/catch/finally
- Créez une fonction avec try/catch/finally
- Le finally s’exécute toujours, même en cas d’erreur
- Testez avec et sans erreur
Exercice 7.3 : Validation de données
- Créez une fonction
creerUtilisateur(nom, age) - Lancez une erreur si nom est vide
- Lancez une erreur si age < 0
- Testez avec des données valides et invalides
Exercice 7.4 : Chaîner les erreurs
- Créez une fonction qui appelle une autre fonction
- Propagez les erreurs avec try/catch
- Affichez une pile d’erreurs
TP 8 : Template Literals
Vous devez utiliser les template literals pour formater du texte.
Exercice 8.1 : Template simple
- Créez deux variables :
nom = 'Eva'etage = 25 - Utilisez un template literal pour créer une phrase
- Affichez-la
Exercice 8.2 : Template multilignes
- Créez un template literal sur plusieurs lignes
- Incluez des variables
- Affichez le résultat
Exercice 8.3 : Expressions dans les templates
- Utilisez des expressions dans les templates :
${10 + 5} - Utilisez des appels de fonction :
${Math.sqrt(16)} - Utilisez des ternaires :
${age >= 18 ? 'Majeur' : 'Mineur'}
Exercice 8.4 : HTML avec templates
- Créez du HTML avec template literals
- Incluez des variables
- Affichez le HTML dans la console
TP 9 : Nouveautés - toSorted(), toReversed(), with()
Vous devez utiliser les nouvelles méthodes immuables.
Exercice 9.1 : toSorted()
- Créez un tableau
nombres = [5, 2, 8, 1, 9] - Utilisez
toSorted()pour créer une copie triée - Vérifiez que l’original n’est pas modifié
- Triez en ordre décroissant
Exercice 9.2 : toReversed()
- Utilisez
toReversed()pour créer une copie inversée - Vérifiez que l’original n’est pas modifié
Exercice 9.3 : with()
- Utilisez
with()pour modifier un élément à un index - Vérifiez que l’original n’est pas modifié
- Modifiez plusieurs éléments
Exercice 9.4 : Combiner les méthodes
- Créez un tableau
- Triez-le avec
toSorted() - Inversez-le avec
toReversed() - Modifiez un élément avec
with() - Vérifiez que l’original n’est jamais modifié
TP 10 : Object.groupBy() - Grouper des Données
Vous devez grouper des données par catégorie.
Exercice 10.1 : Grouper par propriété simple
- Créez un tableau de produits avec
nometcategorie - Utilisez
Object.groupBy()pour grouper par catégorie - Affichez les groupes
Exercice 10.2 : Grouper par condition
- Créez un tableau d’utilisateurs avec
nometage - Groupez par catégorie d’âge : “Enfant”, “Ado”, “Adulte”
- Utilisez une fonction de groupage avec conditions
Exercice 10.3 : Compter les éléments par groupe
- Groupez les données
- Comptez le nombre d’éléments dans chaque groupe
- Affichez les résultats
Exercice 10.4 : Grouper et transformer
- Groupez les données
- Pour chaque groupe, créez un objet avec le nom du groupe et le nombre d’éléments
- Affichez les résultats
📌 Conseils pour réaliser les TPs
✅ TP 1-3 : Maîtrisez les objets et leurs méthodes ✅ TP 4-7 : Apprenez les structures de contrôle et la gestion des erreurs ✅ TP 8-10 : Utilisez les nouveautés JavaScript
✅ Testez chaque exercice dans la console
✅ Utilisez console.log() pour déboguer
✅ Lisez les messages d’erreur
✅ Commencez simple, puis ajoutez les bonus
Prêt à passer à la suite ?
Vous avez terminé cette leçon sur Énoncés des TPs - Objets, Contrôle et Nouveautés. Continuez votre apprentissage avec la prochaine leçon ou explorez d'autres formations.