块级作用域(Block Scope)就像是一个魔法盒子,你可以在里面存放玩具(变量),但是这些玩具只能在这个盒子里玩,一旦出了这个盒子,就找不到它们了。在 ES6 之前,JavaScript 只有全局作用域和函数作用域,但 ES6 引入了 let
和 const
关键字,允许我们创建块级作用域。
块级作用域是什么?
块级作用域指的是代码块 {}
内部定义的变量只在这个代码块内有效。代码块可以是循环、条件语句、函数或者只是用大括号包裹起来的一段代码。当执行流离开这个代码块后,就不能再访问到这些变量了。
在 ES6 中是如何实现的?
ES6 使用 let
和 const
来声明具有块级作用域的变量。这意味着当你在一个 if
语句、for
循环或者其他任何用 {}
包围的代码块中使用 let
或 const
声明变量时,这些变量将仅限于该代码块内可见。
示例代码:
// 全局作用域
let globalToy = '小熊'; // 这个变量在整个文件中都可以访问
function