自学前端以来, 一直用的es6语法, 知道ts流行之后, 转战ts. 相较于es5, es6的let、const可谓是大改变, 那么它们的区别又是什么?
记录
变量提升
这个区块和后面的暂时性死区完全可以另外总结一篇文章, 太懒了, 想想算了.
变量提升具体有两个方面:
- 变量
- 函数
这两者的作用分别体现在:
- 可以使用未声明的变量(后续操作)
- 优先级高于单纯的
变量
暂时性死区
顾名思义, 和上面的变量提升起到相反的作用. 引用官方的一句话:
在代码块内, 使用
let声明变量之前, 该变量都是不可用的
精准的概括了暂时性死区的含义.
区别
简单总结了变量提升和暂时性死区, 一方面回顾基础, 另一方面也是为了说明三者的区别.
继续延续
言简意赅的传统
var存在变量提升,let&const由于存在暂时性死区, 无法在声明前使用变量var在全局作用域下声明变量会被挂在到window上const用于声明后续不再对其赋值的变量- 大多数情况下用
const代替let