Que js
varES6 introdujo un nuevo tipo de ámbito llamado “ámbito de bloque”, que es el ámbito de las sentencias if o for. Básicamente, cualquier cosa entre paréntesis es un bloque.Las variables var existen desde mucho antes de que se introdujera el ámbito de bloque, por lo que
Bastante sencillo, ¿verdad? Esta vez la declaración let nos ayudó a mantenerla dentro del bloque. En general, deberías evitar la declaración de variables globales, y el uso de var puede llevar a eso sin que te des cuenta. En particular, puede
Const javascript
La principal diferencia son las reglas de alcance. Las variables declaradas con la palabra clave var tienen como ámbito el cuerpo inmediato de la función (de ahí el ámbito de la función), mientras que las variables let tienen como ámbito el bloque adyacente inmediato denotado por { } (de ahí el ámbito del bloque).
Las variables let no se inicializan hasta que se evalúa su definición. Acceder a ellas antes de la inicialización resulta en un ReferenceError. Se dice que la variable está en “zona muerta temporal” desde el inicio del bloque hasta que se procesa la inicialización.
Además, hay que tener en cuenta que las variables de ámbito de bloque no se conocen antes de ser declaradas porque no son hoisted. Tampoco se permite volver a declarar la misma variable de ámbito de bloque dentro del mismo bloque. Esto hace que las variables de ámbito de bloque sean menos propensas a los errores que las variables de ámbito global o funcional, que sí son hoisted y que no producen ningún error en caso de declaraciones múltiples.
La principal diferencia es el ámbito, mientras que let sólo puede estar disponible dentro del ámbito en el que se declara, como en el bucle for, var puede ser accedido fuera del bucle, por ejemplo. De la documentación en MDN (ejemplos también de MDN):
Elevación con Javascript
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
Javascript let vs var
Saltar al contenidoPalabra clave var: La declaración var se utiliza para declarar una variable. Opcionalmente podemos inicializar el valor de esa variable. Ejemplo: var num =10;let palabra clave: La sentencia let se utiliza para declarar una variable local en el ámbito de un bloque. Es similar a var, en el sentido de que podemos inicializar opcionalmente la variable. Ejemplo: let num =10;Diferencia de alcance entre var y let:El alcance de var: El var tiene un ámbito de bloque de función más cercano. En el siguiente ejemplo, la variable num2 se declara dentro de un bloque, pero se puede acceder a ella dentro de la función y fuera de este bloque. La declaración en la que estamos utilizando esta variable debe estar después de este bloque, lo que significa que no podemos acceder a num2 antes de la declaración.function varTest(){