Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

[Duda] Var o let?

Aun se utiliza la palabra reservada var? o esto cambio a la palabra reserva let?

gracias quedo atento

2 respuestas
solución!

! Hola! , por buenas prácticas ya no deberían de usarse , lo más recomendable es usar const o let , este último si la variable cambia en algún momento en el scope.

Ambas son utilizadas, pero la diferencia es su alcance, la palabra reservada "var" tiene un ámbito global, es decir que se puede acceder desde cualquier parte del código, mientras que con "let" se respetan los bloques, estos pueden ser un ciclo for, un if, incluso lo que va dentro de "{}", esta variable asignada con let solo podrá ser accedida desde su propio scope. Al usar la palabra var puedes caer en el hoisting y llevar a errores de asigancion de variables. por ejemplo:

document.write("USANDO VAR");
    document.write("<br>");
    var edad = 50;
    document.write(`Edad antes del bloque ${edad}`);
    document.write("<br>");
    //se va considerar un bloque al juego de llaves {}
    {
      var edad = 19;
      document.write(`Edad dentro del bloque ${edad}`);
    }
    document.write("<br>");
    document.write(`la edad fuera del bloque: ${edad}`);
    document.write("<br>");
    document.write("<br>");
    /*
    lo que hace el var es el hoisting, eso como si esa edad lo sube una línea encima del bloque
    document.write("USANDO VAR");
    document.write("<br>");
    var edad = 50;    
    document.write(`Edad antes del bloque ${edad}`);
    document.write("<br>");
    //se va considerar un bloque al juego de llaves {}
    var edad = 19; 
    Aca el var hizo el hoisting, reasignandole el valor a la variable edad en 19, es por eso que fuera del bloque se imprime 19 y no 50 como se tenía previsto
    {
      document.write(`Edad dentro del bloque ${edad}`);
    }
    document.write("<br>");
    document.write(`la edad fuera del bloque: ${edad}`);
    document.write("<br>");
    document.write("<br>");
    */

    document.write("USANDO LET");
    document.write("<br>");
    let edadLet = 50;
    document.write(`Edad antes del bloque ${edadLet}`);
    document.write("<br>");
    {
      let edadLet = 19;
      document.write(`Edad dentro del bloque ${edadLet}`);
    }
    document.write("<br>");
    document.write(`la edad fuera del bloque: ${edadLet}`);
    document.write("<br>");

si imprimes esto en pantalla verás que los resultados son diferentes, porque var y let trabajan en ámbitos difrentes, es un poco complicado con ese codigo, pero analiza linea por linea, espero haberte ayudado, saludos