Can I use – permet de savoir quelles fonctionalités sont supportées
par quels navigateurs
Bases du langage
Déclaration de variables
// Déclaration d'une variable
let maVariable = 12;
Déclaration de variables
// Déclaration d'une variable
let maVariable = 12;
// Réaffectation d'une variable
maVariable = 42;
Déclaration de constantes
// Déclaration d'une constante
const maConstante = 12;
Déclaration de constantes
// Déclaration d'une constante
const maConstante = 12;
maConstante = 42; // Erreur
/*
À noter : si une variable n'est pas réaffectée,
il est préférable de la déclarer en constante
*/
Types de données
>
Opérateurs
Structures de contrôle : if/else
Structures de contrôle : boucles
Structures de contrôle : switch
Bloc logique et portée des variables
Fonctions
Déclaration de fonctions
Déclaration de fonctions
Scope des variables
Variables locales
Scope des variables
Variables externes
Valeur par défaut
Fonctions fléchés
Tableaux
Déclaration et accès
Modifications de tableau
Portion de tableau
Portion de tableau
Itération sur un tableau
Objets
Objets: Déclaration et accès
Objet: modification de propriété
Objet: destructuration
Objet: destructuration
Objet: destructuration
À vous de jouer !
johangirod.com/cours
Exercices / TP
Pour effectuer les exercices, nous utiliserons un REPL (Read-Eval-Print-Loop) qui permet d’écrire du code et de l’exécuter directement.
Pour cela, vous installerez l’extension JavaScript REPL de VSCode pour directement évaluer le JavaScript dans votre éditeur de code.
Exercice 1
Écrire une fonction qui prend en argument la hauteur d’un véhicule et qui retourne la catégorie de tarification pour le péage de l’autoroute :
hauteur inférieure à 2m : “véhicule léger”
hauteur supérieure ou égale à 2m et inférieure à 3m : “véhicule intermédiaire”
hauteur supérieure ou égale à 3m : “poids lourd”
Tester cette fonction avec plusieurs hauteurs de véhicules.
Corrigé
Exercice 2
Écrire un programme capable de calculer la factorielle d’un nombre donné par l’utilisateur.
Corrigé
Exercice 3
Écrire une fonction qui prend en paramètre un tableau de nombres et qui retourne la moyenne de ces nombres.
Corrigé
Exercice 4
5.1
Écrire une fonction getBalance qui prend en paramètre une liste d’opération (credit ou debit) et qui retourne la valeur du compte (les crédit sont ajoutés, les débits sont soustraits).
const operations = [ { credit: 550, date: new Date('2023-01-01') }, { debit: 50, date: new Date('2023-01-02') }, { debit: 200, date: new Date('2023-01-03') }, { credit: 400, date: new Date('2023-01-08') }];getBalance(operations); //= 700
Corrigé
5.2
Modifier la fonction pour qu’elle prenne un second argument facultatif qui soit la valeur initiale du compte (par défaut 0).
Nous allons pour cet exercice utiliser le REPL du navigateur. Pour y accéder, il suffit d’ouvrir le débugueur de votre navigateur (F12) et de cliquer sur l’onglet “Console”.
Coller du code dans la console du navigateur
Pour pouvoir coller du code dans la console du navigateur, vous devrez au préalabable écrire manuellement la phrase « autoriser le collage » et appuyer sur la touche « Entrée ».
Écrire un algorithme qui demande à l’utilisateur un nombre compris entre 1 et 10 jusqu’à ce que la réponse convienne.
Vous pourrez utiliser la fonction prompt pour demander à l’utilisateur de saisir un nombre et la fonction alert pour afficher un message à l’utilisateur.
let guess = prompt('Entrez un nombre entre 1 et 10');// ...alert('Bravo !');
Le nombre pourra être determiné aléatoirement à l’aide de la fonction Math.random et de la fonction Math.ceil.
Vous aurez à utiliser la fonction parseInt pour convertir la chaîne de caractères saisie par l’utilisateur en nombre.
Corrigé
Exercice 6
Pour commencer, nous allons changer la police d’écriture pour une police monospace. Pour cela, nous allons utiliser la propriété fontFamily de l’objet document.body.style :
Saisissez le code suivant dans la console du navigateur :
document.body.style.fontFamily = 'monospace';
Nous allons maintenant utiliser la méthode write de l’objet document pour écrire directement dans la fenêtre du navigateur.
Par exemple pour écrire 4 fois le symbole + :
// testez ce code dans votre navigateurconst str = '+'.repeat(4);document.write(str);
Maintenant :
Écrire une fonction qui dessine une ligne d’étoiles * (le nb d’étoiles sera un paramètre).
Écrire une fonction qui dessine un triangle composé d’étoiles, c’est-à-dire une succession de lignes d’étoiles de longueur 1 puis 2 puis 3 et ainsi jusqu’à n. Le passage à la ligne se fera à l’aide de la balise HTML adéquate (<br/>).
Écrire une fonction qui dessine un carré de côté n, le bord de ce carré est composé d’étoiles,
l’intérieur de « - ».
Écrire une fonction qui dessine un losange creux, dont le bord est signifié par des étoiles. Chaque coté de ce losange sera donc dessiné avec n étoiles. Chaque « blanc » sera représenté par un espace non sécable encodé . Par exemple, pour créer une ligne de 4 espace puis une étoile, on écrira : document.write(" ".repeat(4) + "*"); Voici le rendu pour n=4 :