3. Fonctions
Les fonctions en JavaScript sont, en quelque sorte, une version simplifiée de celles
disponibles en Python : il n'est pas possible de définir de paramètre avec mot clé ou
valeur par défaut. Syntaxiquement, la principale différence est l'utilisation du mot clé
function au lieu de def. Par exemple, pour renvoyer la somme des deux arguments :
function sum(x, y) {
return x + y;
}
Fonctions anonymes
Tout comme en Python, il est possible de définir des fonctions anonymes, qui sont
alors traitées comme n'importe quelle valeur dans le langage (booléen, nombre,
chaîne de caractères, etc.) : elles peuvent être stockées dans des variables ou
passées en argument à des fonctions. En revanche, les fonctions anonymes en
JavaScript utilisent le même mot clé (alors que, en Python, on utilisera lambda) et
peuvent contenir plusieurs instructions. Par exemple, le code précédent est
équivalent à celui-ci :
var sum = function(x, y) {
return x + y;
}
Une boucle sur un tableau peut alors se réécrire avec la fonction forEach (associée
à chaque tableau) et une fonction anonyme appelée à chaque itération. Ses
arguments sont alors la valeur actuelle, son indice et le tableau complet, ce qui
donne la même information qu'une boucle standard.
var array = [1, 2, 3];
array.forEach(function(v, i, a) {
// … code à appeler sur chaque élément du tableau
// (Par définition, v == a[i].)
});
La fonction map() sert à transformer un tableau en un autre tableau, chaque élément
étant transformé. Ce genre d'opération est relativement fréquent, par exemple pour
transformer une liste de chaînes de caractères en bas de casse. Cette fonction map()
s'applique sur un tableau et prend en argument une fonction anonyme, qui prend en
294
Précédent

- 295/494

Suivant