块级作用域-《understanding ECMAScipt6》读书笔记1
本文总阅读量次
文章目录
针对的问题
- 变量提升 令人困惑
- 改变window对象或global对象的属性
块级作用域的特点
- 作用范围在
{}内或者函数体内 - 不允许重复声明
- 无变量提升
let声明
let跟var比主要有以下三个特点:
+ 无变量提升
+ 只在块级作用域内有效
+ 不允许重复声明
const声明
const声明与let声明类似,但const声明指向固定的内存指针。
+ 初始化时必须赋值
+ 一旦声明,不可改变指针指向
带来的困惑 TDZ
TDZ :暂时性死区
在块级作用域内,let和const声明前,任何对变量名的操作都会抛出异常,即使是typeof
应用场景
- for循环中取代
var - 取代IIFE函数
文笔简陋,如有错误,还请指正!谢谢!