ES6-var let const

179 阅读1分钟

var let const 的区别?

var

  1. 可以重复声明相同名字的变量
  2. 声明的变量会变量提升,在声明该变量前可以访问该变量,可以先访问后声明
  3. 没有块级作用域,只有全局作用域和方法作用域
  4. 全局作用域下,声明的变量不会与window有映射,就是window上不会创建属性

let

  1. 只能先声明后访问,不存变量提升
  2. 相同作用域下不可以重复声明相同名称的变量
  3. 有块级作用域,例如出了for循环后就不可访问了
  4. 全局作用域下,声明的变量不会与window有映射,就是window上不会创建属性。

const

  1. 是常量,声明时必须赋值,赋值后不可改变(不可重新赋值),否则报错。
  2. 有块级作用域
  3. 相同作用域下不可重复声明相同名称常量
  4. 全局作用域下,声明的变量不会与window有映射,就是window上不会创建属性。