Javascript fondamentaux
Thème :
Intermédiaire
1 vues ·4/19 leçons

É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 utilisateur avec 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 personne avec nom, 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 utilisateur avec 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 } et ajout = { 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 : age et permis
  • 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' et age = 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 nom et categorie
  • Utilisez Object.groupBy() pour grouper par catégorie
  • Affichez les groupes

Exercice 10.2 : Grouper par condition

  • Créez un tableau d’utilisateurs avec nom et age
  • 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.