Les Fonctions
Une fonction permet de regrouper du code dans un bloc réutilisable.
Au lieu de répéter les mêmes instructions plusieurs fois, on peut créer une fonction puis l’appeler au besoin.
Les fonctions sont au cœur de JavaScript moderne.
1. Déclarer une fonction
Pour créer une fonction, on utilise le mot-clé function.
function greet() {
console.log("Bonjour");
}
Cette fonction affiche simplement un message dans la console.
2. Appeler une fonction
Une fonction ne s’exécute pas automatiquement.
Il faut l’appeler.
greet();
Résultat fonction
> Bonjour
3. Les paramètres
Les paramètres permettent de transmettre des valeurs à une fonction.
function greet(name) {
console.log("Bonjour " + name);
}
Ici, name est un paramètre.
4. Les arguments
Les arguments sont les valeurs envoyées à la fonction.
greet("Fred");
Ici :
- name → paramètre
- "Fred" → argument
5. return
Le mot-clé return permet de retourner une valeur.
function square(number) {
return number * number;
}
Ici, la fonction retourne le carré du nombre.
6. Valeur de retour
Une fonction peut produire un résultat.
const result = square(4);
console.log(result);
Valeur de retour
> 16
7. Fonctions anonymes
Une fonction peut être stockée dans une variable.
const greet = function(name) {
return "Bonjour " + name;
};
Ici, la fonction n’a pas de nom.
On appelle cela une fonction anonyme.
8. Fonctions fléchées
JavaScript moderne utilise souvent les fonctions fléchées.
const square = (number) => {
return number * number;
};
Version courte :
const square = number => number * number;
9. La portée (scope)
Les variables créées dans une fonction existent seulement à l’intérieur de cette fonction.
function test() {
const message = "Bonjour";
}
console.log(message);
Ici, JavaScript produira une erreur, car message n’existe pas à l’extérieur de la fonction.
10. Fonctions pures
Une fonction pure retourne toujours le même résultat pour les mêmes arguments.
function add(a, b) {
return a + b;
}
Cette fonction est prévisible et facile à tester.
11. Effets de bord
Certaines fonctions modifient des éléments externes.
On appelle cela des effets de bord.
function greet(name) {
alert("Bonjour " + name);
}
Ici, la fonction affiche une boîte de dialogue dans le navigateur.
12. La fonction main()
Dans plusieurs projets, la fonction main() sert de point d’entrée principal.
function main() {
console.log("Application démarrée");
}
Elle permet d’organiser le démarrage du programme.
13. Responsabilité unique
Une fonction devrait faire une seule tâche.
Cela rend le code :
- Plus simple
- Plus lisible
- Plus facile à tester
// Bonne pratique
function calculateTotal(price, tax) {
return price + tax;
}
14. Documentation JSDoc
JSDoc permet de documenter les fonctions.
/**
* Retourne le carré d’un nombre.
*
* @param {number} number
* @returns {number}
*/
function square(number) {
return number * number;
}
Cela aide à comprendre comment utiliser la fonction.
15. Tests automatisés
Les tests automatisés permettent de vérifier que le code fonctionne correctement.
expect(square(2)).toBe(4);
expect(square(3)).toBe(9);
Si le résultat est incorrect, le test échoue automatiquement.
Résumé rapide
| Concept | Utilité |
|---|---|
| function | Créer une fonction |
| return | Retourner une valeur |
| Paramètre | Recevoir une donnée |
| Argument | Envoyer une donnée |
| Fonction fléchée | Syntaxe moderne |
| Portée | Limiter l’accès aux variables |
| Fonction pure | Fonction prévisible |
| JSDoc | Documenter une fonction |