03 - Diferencia entre let y var

Estructura inicial

En nuestra carpeta de proyecto crearemos la siguiente estructura:

/
├── js/
│   └── 03-let-y-var.js
└── index.html

Y un código sencillo para nuestro HTML:

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="./js/03-let-y-var.js"></script>
    <title>03 - Diferencia entre let y var</title>
</head>
<body>
    <h1>Temario de JavaScript</h1>
</body>
</html>

Definiendo nuestras variables

A la hora definir una variable, tanto let como var nos permitirán cumplir ese cometido:

var num1 = 300
num1 = 350
console.log(num1) //350

let num2 = 400
num2 = 430
console.log(num2) //430

Como podemos ver, parece no haber diferencias a primera vista.


Veamos en que se diferencian tomando de ejemplo el siguiente código:

var num1 = 250
console.log(num1) //250

let num2 = 300
console.log(num2) //300

/* Declaramos una función sencilla para este ejemplo */
if(true) {
    var num1 = 400
    console.log(num1) //400

    let num2 = 450
    console.log(num2) //450
}

console.log(num1) //400
console.log(num2) //300

Como podemos ver, var funciona a nivel global mientras que let sólo a nivel local.

Hoy en día se recomienda más usar let.