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 :

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 :

// 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