var、let、const的区别

  • var定义的是全局变量,会挂载到window对象上,而let与const不会;
  • var定义的变量存在变量提升,变量声明会自动提到作用域顶部,而let与const不会;
  • var的作用域范围是函数作用域,而let与const作用域范围是块级作用域
  • 同一作用域下,let与const声明的变量不允许再次声明,而var可以重复声明同一变量;
  • 同一作用域下,在let与const声明变量之前使用变量会进入暂时性死区,浏览器会报错,而var可以在声明之前使用,输出为undefined;
  • const声明时必须赋值,并且不能使用null来占位;
  • const声明变量之后不允许修改变量的值;
  • 当const声明变量的值为复合类型数据时,允许修改变量的值
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页