⊗jsPmCdScp 134 of 505 menu

Ámbito de variables en if-else en JavaScript

Para simplificar, supongamos que tenemos una condición que siempre se ejecuta:

if (true) { }

Consideremos el siguiente código:

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

Como puedes ver, en la variable res debería almacenarse el valor '!'. Sin embargo, si ejecutas este código, ¡en la consola se mostrará un error!

El hecho es que las variables declaradas dentro de llaves, son visibles solo dentro de esas llaves, y no son visibles fuera. En términos científicos se trata del ámbito de las variables.

Se puede decir que el ámbito de visibilidad de las variables declaradas dentro de llaves, son solo esas llaves. Sin embargo, si la variable se declara fuera de las llaves, entonces es visible tanto dentro de ellas como fuera:

let res; // la variable se declara fuera if (true) { res = '!'; } console.log(res); // mostrará '!'

En el siguiente ejemplo, en la variable res dependiendo de la condición, se almacena o el valor 1, o el valor 2:

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

Sin embargo, si ejecutas este código, en la consola se mostrará un error. Como ahora ya entiendes, todo se debe a la visibilidad de las variables. Para resolver el problema, declaremos la variable fuera de la condición:

let test = true; let res; // declaremos la variable fuera de la condición if (test) { res = 1; } else { res = 2; } console.log(res); // mostrará 1

El autor del código proporcionado a continuación quería realizar una verificación de edad para alcanzar los 18 años. El código, sin embargo, no funciona. Corrige el error del autor del código. Aquí está el código problemático:

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