Diferencia de definición:
Var y let se usan generalmente para definir variables, y const se usa para definir constantes
Diferencia en valor inicial
Var y let no necesitan dar el valor inicial (el valor predeterminado es indefinido si no se da el valor), y const define una constante, y el valor subsiguiente no cambia, por lo que el valor debe darse cuando se usa
La diferencia de alcance:
-
Las variables definidas por var no tienen concepto de bloques y se puede acceder a ellas a través de bloques, no a través de funciones.
-
Solo se puede acceder a las variables definidas por let en el alcance del bloque (el alcance del bloque es {}) y no se puede acceder a través de bloques o funciones.
-
solo se puede acceder a const en el alcance del bloque y no se puede modificar. Aquí hay una cosa a tener en cuenta:
la constante definida por const no se puede asignar y, en el siguiente caso, const define un objeto, pero las propiedades se pueden modificar:
const obj = { name: 'a', age: 18 };
obj.name = 'b'; // 这里是可以改变obj属性的
console.log(obj);
const obj = { name: 'a', age: 18 };
obj = {}; // 直接赋值操作会报错,无法被指派给obj,因为它是常量