⊗jsPmCdScpN 135 of 505 menu

Nuances de la portée des variables dans les structures if-else en JavaScript

La portée des variables présente une certaine nuance. Examinons-la à l'aide d'un exemple. Déclarons à l'extérieur de notre condition une variable res avec une valeur, et à l'intérieur de la condition, modifions cette valeur pour une autre :

let res = 1; if (true) { res = 2; } console.log(res); // affichera 2

Comme vous le voyez, la variable res a changé à l'intérieur de la condition. Cependant, tout change si à l'intérieur de la condition, on déclare également la variable res via let :

let res = 1; if (true) { let res = 2; // déclarons la variable via let } console.log(res); // affichera 1, et non 2 !

Ici, tout tient au fait que la déclaration de la variable via let à l'intérieur de la condition a créé une variable locale res.

C'est-à-dire qu'à l'intérieur de la condition, il existe une variable res, et à l'extérieur de la condition - une autre. On peut s'en assurer en affichant la valeur de la variable dans la console à l'intérieur de la condition :

let res = 1; if (true) { let res = 2; console.log(res); // affichera 2 } console.log(res); // affichera 1

L'auteur du code ci-dessous voulait effectuer une vérification de l'âge pour atteindre 18 ans. Le code, cependant, quelle que soit la valeur de l'âge, affiche dans la console la valeur undefined. Corrigez l'erreur de l'auteur du code. Voici le code problématique :

let age = 17; let adult; if (age >= 18) { let adult = true; } else { let adult = false; } console.log(adult);

L'auteur du code ci-dessous voulait effectuer une vérification de l'âge pour atteindre 18 ans. Après vérification du code, il s'est avéré que si l'âge est égal ou supérieur à 18 ans, alors dans la variable adult est enregistrée true, comme cela devrait être, cependant, si l'âge est inférieur à 18, alors la variable adult a la valeur undefined. Corrigez l'erreur de l'auteur du code.

Voici le code problématique :

let age = 17; let adult; if (age >= 18) { adult = true; } else { let adult = false; } console.log(adult);

L'auteur du code ci-dessous voulait effectuer une vérification de l'âge. Le code, cependant, quelle que soit la valeur de l'âge, affiche dans la console la valeur undefined. Corrigez l'erreur de l'auteur du code.

Voici le code problématique :

let age = 17; let res; if (age >= 18) { if (age <= 23) { let res = 'de 18 à 23'; } else { let res = 'plus de 23'; } } else { let res = 'moins de 18'; } console.log(res);

L'auteur du code ci-dessous voulait effectuer une vérification de l'âge. Le code, cependant, pour une valeur d'âge supérieure à 18 ans, affiche dans la console la valeur undefined. Corrigez l'erreur de l'auteur du code.

Voici le code problématique :

let age = 19; let res; if (age >= 18) { let res; if (age <= 23) { res = 'de 18 à 23'; } else { res = 'plus de 23'; } } else { res = 'moins de 18'; } console.log(res);
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