常用ES6语法
2018-11-12 本文已影响0人
子不语静守花开
一.var let const
(1). 在js中 通常使用 var会发生变量提升,即脚本开始运行时,变量已经存在了,但是没有值,所以会输出undefined。
而let不会发生变量提升,这表示在声明它之前,变量是不存在的,这时如果用到它,就会抛出一个错误。
(2).var 是函数级作用域,let是块级作用域:
![](https://img.haomeiwen.com/i14507358/0792c02fb3c13a69.png)
(3) let不允许在相同作用域内,重复声明同一个变量
![](https://img.haomeiwen.com/i14507358/96060b3a923d44a3.png)
(4) const声明一个只读的常量 一旦声明,常量的值就不能改变
![](https://img.haomeiwen.com/i14507358/818132036b2ac352.png)
(5) const命令声明的常量也是不提升,只能在声明的位置后面使用
![](https://img.haomeiwen.com/i14507358/b7410288a076d110.png)
(6) const声明的常量,也与let一样不可重复声明
(7) 对于复合类型的变量,变量名不指向数据,而是指向数据所在的地址。
const命令只是保证变量名指向的地址不变,并不保证该地址的数据不变, (***)所以将一个对象声明为常量必须非常小心。
二.数组 对象 函数的解构
1.数组的解构
![](https://img.haomeiwen.com/i14507358/da3f843c50a21799.png)
![](https://img.haomeiwen.com/i14507358/7d452f61fa1513a4.png)
2.对象的解构
![](https://img.haomeiwen.com/i14507358/d3c1681a74148305.png)
3.函数的解构
![](https://img.haomeiwen.com/i14507358/8edfcd3c513442e1.png)
三. Set 和 Map的使用
1.Set用法:
ES6提供了新的数据结构Set,它类似于数组,但是成员的值都是唯一的,没有重复的值。
![](https://img.haomeiwen.com/i14507358/10f8f266a8e0a1ef.png)
2.Map用法:
ES6提供了Map数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。
Object结构 和 Map解构的区别:
Object结构提供了“字符串—值”的对应
Map结构提供了“值—值”的对应,是一种更完善的Hash结构实现
如果你需要“键值对”的数据结构,Map比Object更合适
![](https://img.haomeiwen.com/i14507358/76efe84e8dffa702.png)
3.综合使用
![](https://img.haomeiwen.com/i14507358/66e2b646a3602147.png)
四.箭头函数 和 this
1.箭头函数
![](https://img.haomeiwen.com/i14507358/981b2c1f2d66d14b.png)
2.注意
![](https://img.haomeiwen.com/i14507358/d7b6da6061da3690.png)
五.Promise使用
^_^ 一个在路上的前端小白,欢迎评论指正。
原文:https://www.cnblogs.com/zhihaospace/p/6241963.html
推荐网站:http://es6.ruanyifeng.com/