"let 声明的变量可以被重新赋值,而 const 声明的变量在声明后不能再被赋值。在同一个作用域内,let 和 const 声明的变量都具有块级作用域。在使用 const 声明变量时,变量必须被初始化,否则会报错。let 和 const 在变量提升方面也有区别,let 声明的变量会被提升到其所在的块级作用域的顶部,而 const 声明的变量不会被提升。另外,const 声明的变量是不可变的,但是对于复杂数据类型(例如对象和数组),其引用是不可变的,但对象和数组内部的属性或元素是可以被修改的。"