Dévoilement du but du point d'exclamation dans une expression de fonction
En JavaScript, lors de l'exécution de code, rencontrer un point d'exclamation (!) avant une fonction peut soulever quelques questions. Examinons sa fonctionnalité et son rôle dans la syntaxe.
La syntaxe de JavaScript dicte qu'une fonction déclarée sous la forme de "function foo() {}" est une déclaration de fonction et nécessite une invocation pour s'exécuter. Cependant, prétraiter une déclaration de fonction avec un point d'exclamation (!) la transforme en une expression de fonction, qui peut être suivie de parenthèses pour invoquer immédiatement la fonction.
Le code "!function foo() {}() " peut sembler redondant au premier abord, car il déclare une fonction mais l'exécute également. Cependant, le point d'exclamation sert ici à deux fins :
Bien qu'il s'agisse essentiellement d'une astuce syntaxique, cette technique permet d'obtenir une syntaxe concise pour les expressions de fonction immédiatement invoquées (IIFE). Une forme plus explicite du code serait : "(function(){})();"
Enfin, le point d'exclamation évalue également la valeur de retour de la fonction et la convertit en booléen. Comme les IIFE ne renvoient généralement pas explicitement de valeur, elles renvoient undéfini, qui est contraint à vrai par le point d'exclamation. Ce résultat booléen n'est généralement pas utilisé.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!