今天的主要发的是ES6介绍和let/const

ES6 标准入门
ES6(又名ES2105)是JavaScript语言的新标准,2015年6月正式发布后,得到了迅速推广,是目前业界超级活跃的计算机语言。《ES6标准入门(第2版)》是国内仅有的一本ES6教程,在前版基础上增补了大量内容——对标准进行了彻底的解读,所有新增的语法知识(包括即将发布的ES7)都给予了详细介绍,并且紧扣业界开发实践,给出了大量简洁易懂、可以即学即用的示例代码。《ES6标准入门(第2版)》为中级难度,适合对JavaScript语言或ES5已经有所了解的读者,用来提高水平,了解这门语言的最新发展;也可当作参考手册,查寻ES6/ES7新增的语法点。

今天的主要发的是ES6介绍和let/const
1.变量声明let和const
我们都是知道在ES6以前,var关键字声明变量。无论声明在何处,都会被视为声明在函数的最顶部(不在函数内即在全局作用域的最顶部)。这就是函数变量提升例如:

今天的主要发的是ES6介绍和let/const
以上的代码实际上是:
今天的主要发的是ES6介绍和let/const
所以不用关心bool是否为true or false。实际上,无论如何test都会被创建声明。
接下来ES6主角登场:
我们通常用let和const来声明,let表示变量、const表示常量。let和const都是块级作用域。怎么理解这个块级作用域?

在一个函数内部
在一个代码块内部
说白了 {}大括号内的代码块即为let 和 const的作用域。
今天的主要发的是ES6介绍和let/const
let的作用域是在它所在当前代码块,但不会被提升到当前函数的最顶部。
再来说说const。

今天的主要发的是ES6介绍和let/const
说一道面试题
今天的主要发的是ES6介绍和let/const
这样的面试题是大家常见,很多同学一看就知道输出 10 十次
但是如果我们想依次输出0到9呢?两种解决方法。直接上代码。
今天的主要发的是ES6介绍和let/const
达到相同的效果,es6简洁的解决方案是不是更让你心动!!!