Diferencia entre var y let javascript
Declaración de variables vs. InicializaciónPara almacenar cualquier valor, necesitamos una variable, así que primero declararemos una variable var y luego inicializaremos el valor en la variable.Veámoslo con un ejemplo-var miNombre;
En el ejemplo anterior, declaramos una variable miNombre en la primera línea y luego inicializamos el valor de la cadena “mi nombre” en la segunda línea.En el ejemplo anterior, tomamos un enfoque de dos pasos, primero declaramos una variable y luego la inicializamos, pero podemos hacer la declaración y la inicialización al mismo tiempo así -var miNombre = “mi nombre”;
En el ejemplo, hacemos una función nombre() y luego declaramos una variablemiEdad dentro de la función, cuando llamamos a la función, imprime la variablemiEdad en la consola, pero cuando tratamos de acceder a la variable fuera de la función, está lanzando un Error de Referencia. Block-scopeBlock significa un par de corchetes, un bloque puede ser cualquier cosa que contenga un corchete de apertura y cierre.La variable que tiene Block-scope sólo estará disponible para su uso dentro del bloque que declaró, no será accesible fuera del bloque, y dará Error de Referencia si tratamos de acceder.Aquí está un ejemplo -if(true) {
Cuándo utilizar var en lugar de let
Declaración de variables vs. InicializaciónPara almacenar cualquier valor, necesitamos una variable, así que primero declararemos una variable var y luego inicializaremos el valor en la variable.Veámoslo con un ejemplo-var miNombre;
En el ejemplo anterior, declaramos una variable miNombre en la primera línea y luego inicializamos el valor de la cadena “mi nombre” en la segunda línea.En el ejemplo anterior, tomamos un enfoque de dos pasos, primero declaramos una variable y luego la inicializamos, pero podemos hacer la declaración y la inicialización al mismo tiempo así -var miNombre = “mi nombre”;
En el ejemplo, hacemos una función nombre() y luego declaramos una variablemiEdad dentro de la función, cuando llamamos a la función, imprime la variablemiEdad en la consola, pero cuando tratamos de acceder a la variable fuera de la función, está lanzando un Error de Referencia. Block-scopeBlock significa un par de corchetes, un bloque puede ser cualquier cosa que contenga un corchete de apertura y cierre.La variable que tiene Block-scope sólo estará disponible para su uso dentro del bloque que declaró, no será accesible fuera del bloque, y dará Error de Referencia si tratamos de acceder.Aquí está un ejemplo -if(true) {
Javascript let vs var
z = 6; //Error1234567var x = 1;let y = 2;const z = 3; x = 4; //OK y = 5; //OK z = 6; //ErrorComo puedes ver, las variables var y let pueden ser reasignadas, pero las variables const no.Otra diferencia entre var y let/const es que las variables var son de ámbito funcional, mientras que las let y const son de ámbito de bloque.Esto significa que las variables var sólo están disponibles dentro de la función en la que fueron declaradas. Por ejemplo
console.log(x); // ReferenceError: x no está definida123456function foo() { var x = 1;} foo();console.log(x); // ReferenceError: x no está definidaPor otro lado, las variables let y const sólo están disponibles dentro del bloque en el que fueron declaradas. Por ejemplo:
console.log(z); // ReferenceError: z no está definida12345678function foo() { let y = 2; const z = 3;} foo();console.log(y); // ReferenceError: y no está definida console.log(z); // ReferenceError: z no está definidaEn resumen, las principales diferencias entre var, let y const son: js variable
Const vs let
Se trata de las palabras clave ‘let’, ‘var’ y ‘const’. Desde el estándar ECMAScript 6, las tres palabras clave están disponibles para que los usuarios declaren variables sin inicializarlas. Los usuarios pueden utilizar un identificador válido para declarar un nombre de variable. La variable de mensaje tiene un valor único indefinido si los usuarios no asignan ningún valor a la variable.
El término inicialización se refiere a la asignación de un valor a una variable después de que los usuarios la declaren. Los usuarios establecen el nombre de la variable con un signo igual (=) y un valor para inicializar una variable. Los usuarios también pueden utilizar otra variable (o variables), un valor literal o el resultado de un cálculo o expresión.
Cuando los usuarios declaran variables con la palabra clave ‘var’, se llega a la fase de elevación. El hoisting es el proceso mediante el cual el intérprete de JS parece llevar la declaración de variables, funciones o clases a la parte superior del ámbito antes de que tenga lugar la ejecución del código. El proceso permite a los usuarios utilizar las funciones de forma segura antes de que sean declaradas.
La palabra clave const incluye todas las propiedades similares a las de la palabra clave let, excepto la propiedad de que los usuarios no pueden actualizar las variables. La palabra clave tiene un alcance de bloque. Cuando un usuario declara variables const, tiene que inicializarlas, si no, devolverá un mensaje de error. Además, el usuario no puede actualizar esa variable una vez que la declara con la palabra clave const.