⊗jsPmFCPS 273 of 505 menu

Point-virgule pour la sécurité dans les IIFE

Supposons maintenant que notre fonction immédiatement invoquée ne commence pas par un plus, mais soit entourée de parenthèses, comme ceci :

(function() { console.log(1); // affichera 1 })();

Supposons que la variable num soit définie à l'extérieur de la fonction :

let num = 1; // le point-virgule est présent (function() { console.log(num); // affichera 1 })();

Supposons maintenant que nous ayons oublié de mettre le point-virgule :

let num = 1 (function() { console.log(num); //!! générera une erreur })();

Il s'avère que ce code générera une erreur, car JavaScript perçoit notre fonction comme une continuation de l'instruction de la première ligne.

Pour éviter de tels problèmes, avant d'appeler une fonction immédiatement invoquée, il est toujours nécessaire de mettre un point-virgule, comme ceci :

let num = 1 ;(function() { console.log(num); // affichera 1 })();

Il peut sembler que le problème soit quelque peu artificiel. En réalité, ce n'est pas le cas. Il peut y avoir une situation où plusieurs scripts provenant de fichiers distincts sont inclus sur votre page. Dans ce cas, un point-virgule peut être omis à la fin d'un fichier et cela conduira automatiquement à un problème si le deuxième fichier commence par l'appel d'une fonction immédiatement invoquée.

Par conséquent, mettez toujours - toujours - un point-virgule avant d'appeler une fonction immédiatement invoquée, même si vous êtes certain à ce moment-là qu'il n'y aura pas de problème. Ils peuvent survenir plus tard.

Appliquons ce qui précède et appelons la fonction immédiatement invoquée, en mettant un point-virgule au début :

;(function() { console.log(1); // affichera 1 })();

Déterminez, sans exécuter le code, ce qui sera affiché dans la console :

let str = 'str'; (function() { console.log(1); })();

Déterminez, sans exécuter le code, ce qui sera affiché dans la console :

let str = 'str' (function() { console.log(1); })();
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser