2018-04-02 常考es6知识点小结

1、symbol知识点:

es6中新增的一种基本数据类型;主要特点唯一性(为对象添加属性时,避免属性名冲突);不能和其它数据类型进行运算,不能隐式转换;只能显式转换为字符串和布尔类型。

var a = symbol();

对象object,在添加symbol类型属性时,必须用[]外扩symbol,不能用点式法对其进行操作;

Symbol.for() , Symbol.keyFor()可以创建相同的symbol,因为它是在全局对象中先搜索key值,找到就返回该symbol。

2、Set Map知识点

Set和Map是es6中新增的两种数据结构。

(1)Set:类数组,成员是唯一的,不重复

操作数据的方法

add()、has()、delete()、clear()

遍历的方法:keys():返回键名的遍历器

                      values():返回键值的遍历器

                      entries():返回键值对的遍历器

                      forEach():使用回调函数遍历每个成员

应用:(a)数组去重

去重例子

               (b)实现并集、交集、差集

(2)Map:类似于对象,存放键值对,不限制数据类型

有点像二维数组,new Map([[],[]]);对象里是大数组,数组中放着的是长度为2的小数组,里面存放的是键值对。

set(key , value) , get(Key), delete(key) , has(key) ,clear()

keys():返回键名的遍历器。

values():返回键值的遍历器。

entries():返回所有成员的遍历器。

forEach():遍历 Map 的所有成员。

Map与JSON的相互转换

题外话:for in遍历获取的是对象的键、或者数组的下标;for of遍历得到的是值(不能用它去遍历得到对象的值)。

https://blog.csdn.net/chauncywu/article/details/73302353

3、Array.from()知识点

es6对数组新增了from()方法,可以将类数组对象转化为数组,所谓的类数组对象,可以理解为具有length属性的值;比如,可以将Map结构,Set结构,string等转化为数组。

测试及输出

4、promise知识点

优化多层回调。

5、async和await

异步编程终极解决方案,优化promise的处理then链

async:代表函数里有异步操作,函数的返回值是promise对象;不会造成阻塞(无需等待)。

await:等待一个异步方法的执行结果;必须用在async函数内部;会造成阻塞。

6、箭头函数知识点

7、let与const知识点

8、Generator函数

Generator函数相当于一个状态机,内部用yeild封装着很多状态;调用Generator函数,返回一个遍历器对象,代表Generator函数的内部指针。以后,每次调用遍历器对象的next方法,就会返回一个有着value和done两个属性的对象。value属性表示当前的内部状态的值,是yield语句后面那个表达式的值;done属性是一个布尔值,表示是否遍历结束。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • [TOC] 参考阮一峰的ECMAScript 6 入门参考深入浅出ES6 let和const let和const都...
    郭子web阅读 5,786评论 0 1
  • 一、ES6简介 ​ 历时将近6年的时间来制定的新 ECMAScript 标准 ECMAScript 6(亦称 ...
    一岁一枯荣_阅读 11,275评论 8 25
  • ES6引入了一种新的原始数据类型Symbol,表示读一无二的值,它是js语言的第七种数据类型,前六种undefin...
    南蓝NL阅读 2,865评论 0 1
  • 第一章:块级作用域绑定 块级声明 1.var声明及变量提升机制:在函数作用域或者全局作用域中通过关键字var声明的...
    BeADre_wang阅读 4,359评论 0 0
  • 探春的志向和才干,在红楼儿女中是出类拔萃的。平儿曾告诫管家娘子们:“那三姑娘虽是个姑娘,你们都错看了他。二奶奶这些...
    唐砚阅读 6,004评论 14 34