ES6标准入门(一):let和const定义变量
前言
es5 时候只有 var 定义变量,只有全局作用域和函数作用域。es6 新增 let 和 const,存在块级作用域。
这里简述一下我对于 var,let,和 const 之间的区别的个人理解。
var
var 定义的变量可以修改,如果不初始化会输出 undefined,不会报错。在全局作用下声明的变量,相当于给 window 增加了一个属性。
1 | var a = 1 |
const
const 定义的是一个常量,不可以重新赋值,而且必须初始化。没有变量提升,也不会给 window 增加属性。
1 | const b = 2 //正确 |
let
let 是块级作用域,函数内部使用 let 定义后,对函数外部无影响。没有变量提升,也不会给 window 增加属性。
1 | // console.log(c) // 报错 |
参考资料:
《ES6 标准入门》(第 3 版) 阮一峰著
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 你真是一个美好的人类!