J'ai vu cette syntaxe sur quelques bibliothèques maintenant et je me demande quel est l'avantage. (notez que je suis bien au courant des fermetures et de ce que fait le code, je ne me préoccupe que des différences syntaxiques)
!function(){
// do stuff
}();
Comme alternative aux plus courants
(function(){
// do stuff
})();
pour l'auto-invocation de fonctions anonymes.
Je me pose quelques questions. Tout d'abord, qu'est-ce qui permet au meilleur exemple de fonctionner? Pourquoi le coup est-il nécessaire pour rendre cette déclaration syntaxiquement correcte? On me dit aussi que ça +
marche, et je suis sûr que certains autres, à la place de!
Deuxièmement, quel est l'avantage? Tout ce que je peux dire, c'est qu'il enregistre un seul personnage, mais je ne peux pas imaginer que c'est un énorme avantage pour attirer de nombreux adoptants. Y a-t-il un autre avantage qui me manque?
La seule autre différence que je peux voir serait la valeur de retour de la fonction auto-invoquante, mais dans ces deux exemples, nous ne nous soucions pas vraiment de la valeur de retour de la fonction car elle n'est utilisée que pour créer une fermeture. Alors, quelqu'un peut-il me dire pourquoi on pourrait utiliser la première syntaxe?
!
car il souligne qu'il est en cours d'exécution.