Páginas

miércoles, 24 de julio de 2019

JavaScript let vs var

En  JavaScript no es obligatorio declarar las variables aunque si es muy recomendable. Cuando se declaran no se les asigna que tipo de variable es tal y como sucede en otros lenguajes donde se indica si la variable es de tipo cadena (string), numérica (integer, double, ...), de fecha (date), objeto.

Aqui vamos a tratar el tema de la declaración de variables con var o con let. La diferencia estriba en que let permite declarar variables cuyo ámbito de actuación se limita a la estructura en la que se define la variable. Si la estructura es un condicional if, o un bucle for, la variable declarada con let dentro de esa estructura únicamente existirá dentro de ella, y cuando salgamos de esa estructura la variable no se reconocerá.

Veamos unos ejemplos con el uso de let y var.

Usando let dentro de una estructura

Si asignamos la variable a dentro de la estructura condicional if su ámbito de actuación se limitará a esta estructura. Si usamos un console.log(a) dentro del if se imprimirá sin problemas el valor de a, pero si lo hacemos fuera de la estructura if, este mismo cosole.log(a) nos dará error indicando que la variable no está definida.
https://repl.it/@valoro/JS-let1

 if (2<3){  
  let a=100;  
  console.log('a=',a);  
 }  
 //console.log('a=',a); //da error  

Si de la última línea de código quitamos las dos barras // que indican que es un comentario obtendremos el siguiente error.

Usando var dentro de una estructura

Si en el ejemplo anterior cambiamos let por var ya no obtendremos ningún error.


https://repl.it/@valoro/JS-let2

 if (2<3){  
  var a=100;  
  console.log('a=',a);  
 }  
 console.log('a=',a); //no da error  

Analizando el error con try

Para realizar el tratamiento de errores en JavaScript podemos utilizar la estructura try...catch.


https://repl.it/@valoro/JS-let13

 if (2<3) {  
  let a=100;  
  console.log('a=',a);  
 }  
 try {  
  console.log('a=',a); //da error  
 }  
 catch(err) {  
  console.log(err.message);  
 }  

No hay comentarios:

Publicar un comentario