怎样理解块级作用域
无情
阅读:714
2021-03-10 23:20:20
评论:0
在ES6 之前, JavaScript中有三种作用域:
1. 全局作用域
2. 函数作用域
3. eval作用域
以上作用域内声明的变量或方法只在当前作用域内有效, 在其他作用域内引用则会返回 undefined;
而ES6则新增了一个作用域: 块级作用域
块级作用域可以简单理解为是: 包在大括号{}里面的内容, 它可以自成一个作用域, 但ES5中也有大括号, 可ES5中并没有块级作用域, 这时该怎样判断 {} 是否具有块级作用域的特点?
这时就得用到 let 和 const
因此, 可以将块级作用域理解为: 使用let和const声明的变量, 只在当前大阔号内生效, 由此构建出了 块级作用域 这么个东西.
这里的 "大括号内" 主要指的下面几种情况:
// 条件语句 if () {} // switch语句 switch () {} // for / while循环语句 for () {} while () {} // try...catch语句 try () catch (err) {} // 单大括号 {}
注意: 对象的大括号内不是一个块级作用域, 因为它里面不能直接声明变量;
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。