Skip to content

[阅读]最近在读《深入理解ES6》,开个帖子写点笔记 #10

@YutHelloWorld

Description

@YutHelloWorld

块级做用域绑定

1. 块级作用域存在于

  • 函数内部
  • 块中(字符{和}之间的区域)

2. 临时死区(Temporal Dead Zone)

与 var 不同,let 和 const 声明的变量不会被提升到作用域顶部,而是位于临时死区TDZ。在声明前访问TDZ中变量就会报错。

if (condition) {
  console.log(typeof value)  // 引用错误
  let value = 'blue'
}

而作用域外使用typeof就不会报错

console.log(typeof value)  //  "undefined"

if (condition) {
  let value = 'blue'
}

3. 默认使用const,只在确实有需要改变变量的值时使用let

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions