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éclarerprenom— 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 declarename— 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.
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.
L'IA a généré une fonction mais a oublié le return. La fonction ne retourne rien. Ajoutez le return manquant.
return dans une fonction ?function(x) { return x * 2; } ?