83-var、let、const区别

70 阅读1分钟

var、let、const区别

  • var在es6之前提出,作为变量声明的关键字
  • let、const在es6提出

重复声明

  • var可以重复声明同一变量
  • let、const不能重复声明同一变量

初始值

  • var、let可以不赋初始值
  • const必须赋初始值(保存常量)

是否能修改值

  • var、let可以修改值
  • const不能修改基本数据类型(保存常量)

变量提升

  • var:有变量提升,并且会初始化变量赋值为undefined
  • let、const:有变量提升,但是没有初始化变量,只有在创建变量时才会初始化变量

作用域

  • 概念:变量的使用范围
  • 分类:全局作用域、局部作用域、块级作用域
  • var:局部作用域(通过函数区分)
  • let、const:块级作用域(通过js代码块区分,使用{}包裹的一个区域即为块级作用域)