⊗jsPmCdScp 134 of 505 menu

Portée des variables dans if-else en JavaScript

Pour simplifier, prenons une condition qui est toujours vraie :

if (true) { }

Examinons le code suivant :

if (true) { let res = '!'; } console.log(res);

Comme vous le voyez, la valeur '!' devrait être assignée à la variable res. Cependant, si vous exécutez ce code, une erreur s'affichera dans la console !

Le fait est que les variables déclarées à l'intérieur des accolades ne sont visibles qu'à l'intérieur de ces accolades, et ne sont pas visibles à l'extérieur. Scientifiquement, on parle ici de la portée des variables.

On peut dire que la portée des variables déclarées à l'intérieur des accolades se limite à ces accolades. Cependant, si une variable est déclarée à l'extérieur des accolades, elle est visible à la fois à l'intérieur et à l'extérieur :

let res; // variable déclarée à l'extérieur if (true) { res = '!'; } console.log(res); // affichera '!'

Dans l'exemple suivant, soit la valeur 1, soit la valeur 2 est assignée à la variable res en fonction de la condition :

let num = 5; if (num >= 0) { let res = 1; } else { let res = 2; } console.log(res);

Cependant, si vous exécutez ce code, une erreur s'affichera dans la console. Comme vous le comprenez maintenant, tout est une question de visibilité des variables. Pour résoudre le problème, déclarons la variable en dehors de la condition :

let test = true; let res; // déclarons la variable en dehors de la condition if (test) { res = 1; } else { res = 2; } console.log(res); // affichera 1

L'auteur du code ci-dessous voulait vérifier si l'âge était supérieur ou égal à 18 ans. Le code, cependant, ne fonctionne pas. Corrigez l'erreur de l'auteur du code. Voici le code problématique :

let age = 17; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);
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