Skip to content

Les fonctions

Les fonctions en JavaScript sont des blocs de code conçus pour effectuer une tâche spécifique. Elles jouent un rôle fondamental dans la construction de programmes modulaires et réutilisables. Voici un aperçu de la manière de définir et d'utiliser les fonctions en JavaScript, ainsi que de certaines caractéristiques importantes des fonctions.

Définition d'une Fonction

Une fonction est définie avec le mot-clé function, suivi d'un nom, d'une liste de paramètres entre parenthèses et d'un bloc de code entre accolades.

javascript
function direBonjour() {
    console.log("Bonjour !");
}
function direBonjour() {
    console.log("Bonjour !");
}

Appel d'une Fonction

Pour exécuter le code d'une fonction, vous devez l'appeler par son nom suivi de parenthèses.

javascript
direBonjour(); // Affiche "Bonjour !"
direBonjour(); // Affiche "Bonjour !"

Paramètres et Arguments de Fonction

Les fonctions peuvent prendre des paramètres, qui agissent comme des variables au sein de la fonction. Lorsque vous appelez une fonction, vous pouvez lui passer des arguments, qui sont les valeurs réelles fournies pour ces paramètres.

javascript
function saluer(nom) {
    console.log("Bonjour, " + nom + " !");
}

saluer("Alice"); // Affiche "Bonjour, Alice !"
function saluer(nom) {
    console.log("Bonjour, " + nom + " !");
}

saluer("Alice"); // Affiche "Bonjour, Alice !"

Valeur de Retour

Les fonctions peuvent retourner des valeurs à l'endroit où elles sont appelées en utilisant le mot-clé return.

javascript
function additionner(a, b) {
    return a + b;
}

let somme = additionner(5, 3); // somme vaut 8
function additionner(a, b) {
    return a + b;
}

let somme = additionner(5, 3); // somme vaut 8

Fonctions Anonymes et Expressions de Fonction

Les fonctions anonymes sont des fonctions sans nom. Elles sont souvent utilisées dans les expressions de fonctions.

javascript
let carre = function(x) {
    return x * x;
};

console.log(carre(4)); // Affiche 16
let carre = function(x) {
    return x * x;
};

console.log(carre(4)); // Affiche 16

Fonctions Fléchées (Arrow Functions)

Introduites dans ES6, les fonctions fléchées offrent une syntaxe concise pour écrire des fonctions. Elles sont particulièrement utiles pour les fonctions anonymes et les callbacks.

javascript
let doubler = x => x * 2;

console.log(doubler(6)); // Affiche 12
let doubler = x => x * 2;

console.log(doubler(6)); // Affiche 12

Comprendre

Une fonction fléchée est équivalente à une fonction anonyme :

javascript
let doubler = function(x) {
    return x * 2;
};
let doubler = function(x) {
    return x * 2;
};

Portée des Variables

Les variables déclarées à l'intérieur d'une fonction ne sont pas accessibles à l'extérieur de celle-ci. Cette caractéristique est connue sous le nom de portée locale de la fonction.

javascript
function demoPortee() {
    let locale = "Je suis locale";
}

console.log(locale); // Erreur: locale n'est pas défini
function demoPortee() {
    let locale = "Je suis locale";
}

console.log(locale); // Erreur: locale n'est pas défini

Fonctions de Première Classe

En JavaScript, les fonctions sont des objets de première classe. Cela signifie qu'elles peuvent être passées en tant qu'arguments à d'autres fonctions, retournées par d'autres fonctions, et assignées à des variables.

Fermetures (Closures)

Les fonctions en JavaScript forment des fermetures. Une fermeture est une fonction qui se souvient des variables de l'environnement dans lequel elle a été créée, même après que cet environnement ait disparu.

javascript
function creerSalutation(nom) {
    return function() {
        console.log("Bonjour, " + nom + " !");
    };
}

let salutAlice = creerSalutation("Alice");
salutAlice(); // Affiche "Bonjour, Alice !"
function creerSalutation(nom) {
    return function() {
        console.log("Bonjour, " + nom + " !");
    };
}

let salutAlice = creerSalutation("Alice");
salutAlice(); // Affiche "Bonjour, Alice !"