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