JavaScript · Leçon 3

Fonctions

Une fonction est une recette réutilisable : on l'écrit une fois, on l'utilise autant de fois qu'on veut, avec des ingrédients différents.

Déclarer et appeler

function direBonjour(prenom) {   // prenom = paramètre (l'ingrédient)
  console.log("Bonjour " + prenom);
}
direBonjour("Léa");              // "Léa" = argument (la valeur donnée)

return : renvoyer un résultat

Une fonction peut calculer une valeur et la renvoyer. On peut alors la stocker ou l'utiliser dans un calcul. return arrête aussi la fonction.

Que vaut resultat ?
function f(n) { console.log(n * 2); }
const resultat = f(5);

  1. 10
  2. undefined
  3. Une erreur

La fonction affiche 10 mais ne renvoie rien. Sans return, une fonction renvoie undefined. Afficher ≠ renvoyer !

Paramètres par défaut

Les fonctions fléchées

Une écriture plus courte, très utilisée en JavaScript moderne :

La portée des variables

Une variable créée dans une fonction n'existe que dans cette fonction.

À toi de jouer

La vérification appelle tes fonctions avec différentes valeurs, comme le ferait un vrai test automatisé.

L'aire du rectangle

Écris une fonction aireRectangle(largeur, hauteur) qui renvoie l'aire.

IndiceStructure d’une fonction : function nom(param1, param2) { … }
IndiceLa fonction doit renvoyer le résultat avec return, pas seulement l’afficher.
IndicePresque tout :
function aireRectangle(largeur, hauteur) {
  return ...;
}

Pair ou impair ?

Écris une fonction fléchée estPair qui renvoie true si le nombre est pair, false sinon.

IndiceUne fonction fléchée s’écrit : const estPair = (n) => …;
IndiceUn nombre est pair si le reste de sa division par 2 vaut 0 : n % 2 === 0. Cette comparaison vaut déjà true ou false !
IndicePas besoin de if ni de return avec la version courte : const estPair = n => …;

Le prix TTC

Écris prixTTC(prixHT, taux) qui renvoie le prix avec la TVA. Si le taux n'est pas donné, il vaut 20 (%).

IndiceUn paramètre peut avoir une valeur par défaut : function prixTTC(prixHT, taux = 20).
IndiceUn taux de 20 % revient à multiplier par 1 + 20 / 100, soit 1.2.
IndiceIl ne reste qu’une ligne : return prixHT * (1 + taux / 100);

À retenir