Leçon 3/8 7 min

Les fonctions

Créez des blocs de code réutilisables avec les fonctions, les arrow functions, les paramètres et le scope.

Déclarer une fonction

Une fonction est un bloc de code réutilisable. Au lieu de réécrire le même code dix fois, vous le mettez dans une fonction et vous l'appelez quand vous en avez besoin.

function saluer(prenom) {
  return "Bonjour " + prenom + " !";
}

saluer("Alice");  // "Bonjour Alice !"
saluer("Bob");    // "Bonjour Bob !"
  • function — le mot-clé pour déclarer
  • prenom — le paramètre (l'entrée)
  • return — la valeur de retour (la sortie)

Arrow functions

La syntaxe moderne pour écrire des fonctions plus courtes :

// Fonction classique
function doubler(n) {
  return n * 2;
}

// Arrow function
const doubler = (n) => {
  return n * 2;
};

// Version ultra-courte (une seule expression)
const doubler = (n) => n * 2;

Les arrow functions sont très utilisées avec les méthodes de tableaux comme map, filter, forEach.

Paramètres par défaut

Vous pouvez donner une valeur par défaut à un paramètre :

function saluer(prenom, langue = "fr") {
  if (langue === "en") {
    return "Hello " + prenom + "!";
  }
  return "Bonjour " + prenom + " !";
}

saluer("Alice");       // "Bonjour Alice !" (langue = "fr" par défaut)
saluer("Alice", "en"); // "Hello Alice!"

Scope — la portée des variables

Les variables déclarées dans une fonction n'existent qu'à l'intérieur de cette fonction :

function maFonction() {
  let secret = "abc123";
  console.log(secret); // OK
}

// console.log(secret); // ERREUR : secret n'existe pas ici

C'est le scope local. Les variables déclarées en dehors de toute fonction ont un scope global — elles sont accessibles partout. Préférez le scope local pour éviter les conflits.

Declaring a function

A function is a reusable block of code. Instead of rewriting the same code ten times, you put it in a function and call it when you need it.

function greet(name) {
  return "Hello " + name + "!";
}

greet("Alice");  // "Hello Alice!"
greet("Bob");    // "Hello Bob!"
  • function — the keyword to declare
  • name — the parameter (input)
  • return — the return value (output)

Arrow functions

The modern syntax for writing shorter functions:

// Classic function
function double(n) {
  return n * 2;
}

// Arrow function
const double = (n) => {
  return n * 2;
};

// Ultra-short version (single expression)
const double = (n) => n * 2;

Arrow functions are widely used with array methods like map, filter, forEach.

Default parameters

You can give a parameter a default value:

function greet(name, lang = "en") {
  if (lang === "fr") {
    return "Bonjour " + name + " !";
  }
  return "Hello " + name + "!";
}

greet("Alice");       // "Hello Alice!" (lang = "en" by default)
greet("Alice", "fr"); // "Bonjour Alice !"

Scope — variable reach

Variables declared inside a function only exist within that function:

function myFunction() {
  let secret = "abc123";
  console.log(secret); // OK
}

// console.log(secret); // ERROR: secret doesn't exist here

This is local scope. Variables declared outside any function have global scope — they're accessible everywhere. Prefer local scope to avoid conflicts.

Essayez vous-même
Avec l'IA

Copiez ce prompt dans Claude ou ChatGPT :

Crée une fonction JavaScript qui prend un tableau de nombres et retourne un objet avec le min, le max et la moyenne. Explique chaque ligne.
Exercice : Corrigez le code de l'IA

L'IA a généré une fonction mais a oublié le return. La fonction ne retourne rien. Ajoutez le return manquant.

Corrigez le code
Que fait le mot-clé return dans une fonction ?
Quelle est la version arrow function de function(x) { return x * 2; } ?
Une variable déclarée dans une fonction est accessible...
Besoin d'un développeur pour votre projet ?

Réponse sous 24h — Sans engagement