美文网首页jsWeb前端之路
块级作用域-《understanding ECMAScipt6》

块级作用域-《understanding ECMAScipt6》

作者: aliyu | 来源:发表于2017-03-15 20:26 被阅读16次

    针对的问题

    • 变量提升 令人困惑
    • 改变window对象或global对象的属性

    块级作用域的特点

    1. 作用范围在{}内或者函数体内
    2. 不允许重复声明
    3. 无变量提升

    let声明

    letvar比主要有以下三个特点:

    • 无变量提升
    • 只在块级作用域内有效
    • 不允许重复声明

    const声明

    const声明与let声明类似,但const声明指向固定的内存指针。

    • 初始化时必须赋值
    • 一旦声明,不可改变指针指向

    带来的困惑 TDZ

    TDZ :暂时性死区
    在块级作用域内,letconst声明前,任何对变量名的操作都会抛出异常,即使是typeof

    应用场景

    • for循环中取代var
    • 取代IIFE函数

    相关文章

      网友评论

        本文标题:块级作用域-《understanding ECMAScipt6》

        本文链接:https://www.haomeiwen.com/subject/tbktgttx.html