Fonction comme variable en JavaScript
Ainsi, dans la leçon précédente, nous avons découvert qu'en accédant à une fonction sans parenthèses, nous obtenons son code source.
En réalité, c'est bien plus intéressant. En JavaScript, contrairement à d'autres langages, les fonctions sont des valeurs de variable comme les nombres, les chaînes de caractères et les tableaux.
Regardons un exemple. Supposons que nous ayons
par exemple une fonction func :
function func() {
console.log('!');
}
En réalité, nous n'avons pas de fonction func.
Nous avons une variable func stockant
le code source de la fonction.
Nous pouvons, par exemple, écraser la variable
func par autre chose, par exemple,
une chaîne de caractères. Dans ce cas, la fonction func
ne sera plus une fonction, mais sera une chaîne.
Regardez l'exemple :
function func() {
console.log('!');
}
func(); // affichera '!'
func = 'string'; // écrasons la variable func
console.log(func); // affichera 'string'
Créez une fonction func qui
retournera via return une chaîne de caractères quelconque.
Affichez le résultat de l'exécution de la fonction func
dans la console.
Affichez le code source de la fonction func
dans la console.
Assignez à la variable func le nombre 123,
écrasant ainsi la fonction dans cette variable.
Affichez la nouvelle valeur de la variable func
dans la console.