let,const,var这三者之间的区别

发布时间 2023-06-28 17:33:40作者: 是阿阳

var是ES5版本引入的关键字。var声明的变量是函数作用域,而不是块级作用域。这意味着,var声明的变量可以在函数内部的任何地方进行访问,而不仅仅是在声明它的块中。此外,var声明的变量可以被重新赋值和重复声明。

letconst。它们都是块级作用域的。与var不同,letconst声明的变量不能被重复声明。

let声明的变量是可变的(mutable),也就是说,它们的值可以被重新赋值。与var相比,let的作用范围更小,并且不能在声明之前使用变量。

const声明的变量是不可变的(immutable),也就是说,它们一旦赋值,就不能再被重新赋值。与letvar不同,const声明的变量必须在声明时就被初始化(即赋值),否则会产生语法错误。如果const声明的是一个对象或者数组,虽然无法重新赋值,但是可以修改该对象或数组的属性或元素。