Donc la réponse complète à propos des parenthèses est la suivante :
les parenthèses de l'opérateur de groupement sont requises quand une fonction ne se trouve pas à une position attendant une expression si vous souhaitez appeler immédiatement la fonction après sa création. Dans ce cas-là nous transformons juste manuellement une déclaration de fonction en expression de fonction.
Dans le cas où l'analyseur sait déjà résoudre cette fonction comme une expression de fonction c'est-à-dire que la fonction est déjà à une position attendant une expression, les parenthèses ne sont pas obligatoires.
Comme l'opérateur de groupement n'est qu'un moyen d'indiquer à l'analyseur que le code en cours doit être analysé comme une expression, il est possible d'utiliser tous les autres moyens pour transformer une instruction en une position nécessitant une expression pour créer une expression de fonction. Par exemple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| // Ceci indique que nous manipulons une expression de fonction
(function () {
console.log("La gravité partagée");
}());
//, mais ceci aussi
1, function () {
console.log("Le monde d'en haut");
}();
// ainsi que ceci
!function () {
console.log("Le monde d'en bas");
}();
// et n'importe quelles autres
// transformations manuelles
/* ... */ |
C'est juste que l'opérateur de groupement est la méthode la plus élégante et répandue.