11

ES6篇——var、let、const区别

 3 years ago
source link: https://blog.csdn.net/h907310116/article/details/112139983
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

ES6篇——var、let、const区别

es6主要新增了const和let,用来声明变量。但是let和const还是有一些不同的细节。

1.var、let、const的属性区别:

2.三个声明变量提升:

这三个声明的区别很明显,因此let和const不支持变量提升,一般是要先声明再使用。

3.三个声明作用域:

只有let和const有效避免变量覆盖,它们都是块级作用域;var新变量覆盖了旧变量,函数作用域。

另外,块级作用域不支持外部直接访问内部。

 3.1 for循环的作用域:

var:每个按钮为5个,点击了每个按钮都是打印“点击了第五个”。这样的话,绝对是不满足开发者的需求。

let:可以看到这样的打印,只要每个点击按钮都打印为“点击了N个按钮”,这才是符合预期。

理解:在每一次循环中,let都会重新声明变量,因为let本身都是用块级作用域,所以会记住循环中上一次变量的值,只要是在自己的作用域情况下,循环中每一个值都不会被覆盖掉。

所以推荐在for循环的应用中直接使用let声明。

4.初始值:

只有const声明常量必须赋值。

5.三个声明重复声明:

var和let支持重复声明,只有const不支持重复声明。

另外,const 对于数组和对象的元素可以修改,不算做对常量的修改,这样不会报错。

为何要学习ES6的let和const?对于JavaScript是个弱类型,很好地提升它的性能,可以减少大多数奇怪的问题。现在大多数都使用let和const声明变量。

以上就是这文章的内容了,不断更新中.....给知识充电中。

欢迎各位大佬评论、点赞和收藏!Thanks


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK