关于 ES6 的 let ,var和 const

const 就不用多说了,一个值一经初始化不再发生变化,就用 const定义,效率更高

let 的作用域是块级作用域和全局作用域,块级作用域就是{} 比如 for 循环最适合用 let,在 for(){} 之外就不存在你定义的变量了

var 的作用域是函数作用域和全局作用域,函数作用域是在一个函数内该变量一直有效,里层函数可以获取外层函数的变量

var 存在变量提升, let 不存在,不声明就使用会报错

let 不允许在同一作用域内重复定义

在全局作用域使用 let 变量时,该变量不再属于全局属性

原文地址:https://www.cnblogs.com/ChrisZhou666/p/6228448.html