Diferencia entre var y let en JavaScript

var y let se usan para la declaración de variables en javascript, pero la diferencia entre ellos es que var tiene un alcance de función y let tiene un alcance de bloque. Se puede decir que una variable declarada con var se define a lo largo del programa en comparación con let. Un ejemplo aclarará la diferencia aún mejor. 

Ejemplo de var:

Input:
console.log(x);
var x=5;
console.log(x);
Output:
undefined
5

 

Ejemplo de dejar:

Input:
console.log(x);
let x=5;
console.log(x);
Output:
Error

 

Veamos código en JavaScript: Código #1: 

HTML

<html>
 
<body>
    <script>
        // calling x after definition
        var x = 5;
        document.write(x, "\n");
 
        // calling y after definition
        let y = 10;
        document.write(y, "\n");
 
        // calling var z before definition will return undefined
        document.write(z, "\n");
        var z = 2;
 
        // calling let a before definition will give error
        document.write(a);
        let a = 3;
    </script>
</body>
 
</html>                           

Producción

 

Código n.º 2: en el siguiente código, al hacer clic en Inicio se llamará a una función que cambia el color de los dos encabezados cada 0,5 segundos. El color del primer encabezado se almacena en una var y el segundo se declara usando let. A continuación, se accede a ambos fuera del bloque de funciones. Var funcionará, pero la variable declarada usando let mostrará un error porque let tiene un alcance de bloque. 

HTML

<!DOCTYPE html>
<html>
 
<head>
    <title>Var vs Let</title>
</head>
 
<body>
 
    <h1 id="var" style="color:black;">GeeksForGeeks</h1>
    <h1 id="let" style="color:black;">GeeksForGeeks</h1>
    <button id="btn" onclick="colour()">Start</button>
    <!-- executing function on button click -->
 
    <script type="text/javascript">
        function colour() {
 
            setInterval(function() {
 
                if (document.getElementById('var').style.color == 'black')
                    var col1 = 'blue';
                else
                    col1 = 'black';
 
                // setting value of color 1 through var
 
                if (document.getElementById('let').style.color == 'black') {
                    let col2 = 'red';
                } else {
                    col2 = 'black';
                }
 
                // setting value of color 2 through let
 
                document.getElementById('var').style.color = col1;
 
                document.getElementById('let').style.color = col2;
 
                // changing color of h1 in html
            }, 500);
 
        }
    </script>
</body>
 
</html>

Producción:

 

JavaScript es mejor conocido por el desarrollo de páginas web, pero también se usa en una variedad de entornos que no son de navegador. Puede aprender JavaScript desde cero siguiendo este tutorial de JavaScript y ejemplos de JavaScript .

Entendamos las diferencias en forma tabular:

  variable dejar
1. La var es una palabra clave que se utiliza para declarar una variable. Let es también una palabra clave que se usa para declarar una variable.
2.

Sintaxis -:

var nombre = valor;

Sintaxis -:

let nombre = valor;

3. Las variables que se definen con la declaración var tienen un alcance de función. Las variables que se definen con la declaración let tienen un alcance de bloque.
4. Podemos volver a declarar una variable aunque haya sido definida previamente en el código. No podemos declarar una variable más de una vez si la definimos previamente
5. El izado está permitido con var . También se permite izar con let .
6.

Ejemplo -:

var nombre del sitio web = «geeksforgeeks»;

Ejemplo -:

 sea ​​x = 69;

7. var es una característica de ECMAScript1. let es una característica de ES6.
8. Sus navegadores compatibles son: Chrome, Internet Explorer, Microsoft Edge, Firefox, safari, opera Sus navegadores compatibles son: Chrome49, Microsoft Edge12, firefox44, safari11, opera36

Publicación traducida automáticamente

Artículo escrito por Kartikaybhutani y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *