什么是提升?什么是暂时性死区?var、let 及 const 区别?
1.提升
- 函数提升优先于变量提升,函数提升会把整个函数挪到作用域顶部,变量提升只会把声明提升到顶部。 2.暂时性死区
- 在代码块块级作用域内,使用let命令声明变量前是不可使用的。
- 本质是只要进入当前作用域内,所有的变量是存在的,但是不可获取,只有在声明变量那行之后才可以获取和使用该便量。 3.var、let及const区别
| 命令 | 提升 | 全局->window | 暂时性死区 | 再赋值 |
|---|---|---|---|---|
| var | 是 | 是 | 否 | 能 |
| --- | --- | --- | --- | --- |
| let | 否 | 否 | 是 | 能 |
| --- | --- | --- | --- | --- |
| const | 否 | 否 | 是 | 否 |