⊗jsPmCdScpN 135 of 505 menu

Matices del ámbito de las variables en las construcciones if-else en JavaScript

El ámbito de las variables tiene un cierto matiz. Considerémoslo con un ejemplo. Declaremos fuera de nuestra condición la variable res con un valor, y dentro de la condición cambiemos este valor a otro:

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

Como puedes ver, la variable res cambió dentro de la condición. Sin embargo, todo cambiará, si dentro de la condición también declaramos la variable res mediante let:

let res = 1; if (true) { let res = 2; // declaremos la variable mediante let } console.log(res); // mostrará 1, ¡no 2!

Aquí la cuestión es que la declaración de la variable mediante let dentro de la condición creó una variable local res.

Es decir, dentro de la condición existe una variable res, y fuera de la condición - otra. Podemos convencernos de esto, mostrando el valor de la variable en la consola dentro de la condición:

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

El autor del código a continuación quería realizar una verificación de edad para alcanzar los 18 años. Sin embargo, el código para cualquier valor de edad muestra en la consola el valor undefined. Corrige el error del autor del código. Aquí está el código problemático:

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

El autor del código a continuación quería realizar una verificación de edad para alcanzar los 18 años. Después de verificar el código, resultó que si la edad es igual o mayor a 18 años, entonces en la variable adult se escribe true, como debería ser, sin embargo, si la edad es menor a 18, entonces la variable adult tiene el valor undefined. Corrige el error del autor del código.

Aquí está el código problemático:

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

El autor del código a continuación quería realizar una verificación de edad. Sin embargo, el código para cualquier valor de edad muestra en la consola el valor undefined. Corrige el error del autor del código.

Aquí está el código problemático:

let age = 17; let res; if (age >= 18) { if (age <= 23) { let res = 'de 18 a 23'; } else { let res = 'más de 23'; } } else { let res = 'menos de 18'; } console.log(res);

El autor del código a continuación quería realizar una verificación de edad. Sin embargo, el código para un valor de edad mayor a 18 años muestra en la consola el valor undefined. Corrige el error del autor del código.

Aquí está el código problemático:

let age = 19; let res; if (age >= 18) { let res; if (age <= 23) { res = 'de 18 a 23'; } else { res = 'más de 23'; } } else { res = 'menos de 18'; } console.log(res);
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar