Artículos de Tecnología > Front End

Escopo en JavaScript

Sérgio Lopes
Sérgio Lopes

Imagen1

Todo el mundo sabe que una variable local es... local:

function(){ var i = 0; } alert(i); // no funciona

¿Pero eso es todo?

if (algunaCosa){ var i = 0; } alert(i); 

¿Una variable declarada dentro del if será visible fuera de él? ¡Sí!

JavaScript solo tiene alcance de función (escopo de función) y escopo global( alcance global). No tiene alcance de bloque. Es decir, if no define un ámbito aislado.

Debes tener cuidado de no confundirte en algunos escenarios. Por ejemplo, dos for simples:

for (var i = 0; i < 10; i++) { ... } 
for (var i = 10; i > 0; i--) { ... } 

Ambos están jugando con la misma variable i, después de todo, for tampoco define un alcance o escopo. Debemos tener cuidado de no cometer estos errores.

El nuevo ES6 FINALMENTE define el alcance del bloque o escopo de bloque en el lenguaje. Es con la palabra clave let:

if (algunaCosa){ let i = 0; } alert(i);

Es bueno saberlo, pero el soporte aún es débil en todos los navegadores.

ff41e839cab613a02a5c96c6165e3a31 jpeg

Sérgio Lopes

Sérgio es director y jefe de squad de varios equipos del Grupo Caelum, graduado en Informática por la USP. Es reconocido por su trabajo en Front-end, Performance, Mobile y Arquitectura de Software y cuenta con una amplia experiencia en la docencia, tanto presencial como online. Gestiona los proyectos internos de la empresa y trabaja en la definición del rumbo de los productos y de la empresa en general.

Este articulo fue adecuado para Alura Latam por: Jose Charris

Artículos de Tecnología > Front End

En Alura encontrarás variados cursos sobre Front End. ¡Comienza ahora!

  • 137 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro para resolver tus dudas
  • Acceso completo a la plataforma por 3 meses
  • Descuento de lanzamiento de 30%

Trimestral

Descuento de lanzamiento de 30%
  • 137 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro para resolver tus dudas
  • Acceso completo a la plataforma por 3 meses
US$19,90
un pago de US$29,90 US$19,90
¡Quiero empezar a estudiar!

Paga en moneda local en los siguientes países

Semestral

Descuento de lanzamiento de 30%
  • 137 cursos

    Cursos de Programación, Front End, Data Science, Innovación y Gestión.

  • Videos y actividades 100% en Español
  • Certificado de participación
  • Estudia las 24 horas, los 7 días de la semana
  • Foro para resolver tus dudas
  • Acceso completo a la plataforma por 6 meses
US$33,90
un pago de US$49,90 US$33,90
¡Quiero empezar a estudiar!

Paga en moneda local en los siguientes países

Acceso a todos los cursos
Estudia las 24 horas, dónde y cuándo quieras
Nuevos cursos cada semana