ES6基本用法(let篇)

新增let命令:同var一样是用来声明变量的,区别在let只在所在代码块内有效。如图,let声明的a没有定义,var声明的b会输出1

Paste_Image.png

应用在for循环中,循环体内有效,循环体外报错

Paste_Image.png

注意:for循环的循环语句部分是一个父作用域,循环体内是单独的子作用域,父作用域和子作用域是分离的

不存在变量提升

var声明之前可以调用undifined,在let声明之前如果调用会报错

暂时性死区
Paste_Image.png

在代码块内let声明变量之前,该变量是不可用的,这在语法上叫暂时性死区
这意味着typeof不再是百分之百操作

Paste_Image.png
Paste_Image.png

如上图所示,声明变量之前用typeof会报错ReferenceError,如果没有声明用typeof反而不报错,

不允许重复声明

let不允许在相同作用域内重复声明同一个变量

Paste_Image.png

因此不能在函数内部重新声明变量。

下面给大家留一个思考题为什么报错

Paste_Image.png

欢迎评论回答问题!
摘抄于阮一峰老师的《ECMAScript 6 入门》(http://es6.ruanyifeng.com/)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容