ES6篇 | let、const、var的区别

121 阅读1分钟

Var是ES5提出的,let和const是ES6提出的

在了解 var、let、const三者的区别 之前,我们需要明白一个东西: 作用域

在 ES5,JavaScript 只有两种作用域:全局作用域,函数作用域

ES6新增了块级作用域, 块作用域由 { } 包括,if语句和 for语句里面的{ }也属于块作用域。

  1. Var 声明的变量会挂载在 window 上,而 let 和 const 声明的变量不会
  2. Var 声明的变量存在变量提升,let 和 const 不存在变量提升
  3. 同一作用域下 var 可以声明同名变量,let 和 const不可以
  4. Let 和 const 声明会形成块级作用域
  5. Let 暂存死区
  6. Const 一旦声明必须赋值,不能用 null 占位,声明后不能再修改,如果声明的是复合类型数据,可以修改属性