es6 Symbol

数据类型:
        number、string、boolean、object、function、undefined

        用typeof检测出来数据类型
            Symbol

        symbol 使用情况一般
            定义:let syml = Symbol("aaa")
            注意:
                1. Symbol 不能new
                2. Symbol() 返回的是一个唯一的值
                    做一个key 属性,定义一些唯一的或者私有一些东西
                3. 是一个单独数据类型,就交symbol,基本类型
                4. 如果symbol作为key,用for in循环,出不来

        json -> for in

        generator函数:
            生成器:

            解决异步,深度嵌套的问题,async

            语法:
                function * show(){
                    yield
                }
            定义:
                function * gen(){
                    yield "welcome";
                    yield "to";
                    return "muMareR";
                }
            调用:
                let g1 = gen()
                ge.next(); // {value:"welcome",done:false}
                ge.next(); // {value:"to",done:false}
                ge.next(); // {value:"muMareR",done:true}
                
                上诉调用,手动调用,麻烦

            for ... of ...
                自动遍历 generator
                    注意:return的东西,不会遍历 

                generator 不仅可以配合 for ... of ... 
                    1.  解构赋值
                        let [a,...b] = gen()
                    2. 扩展运算符
                        console.log(...gen())
                    3. Array.from()
                        console.log(Array.from(gen()))

        异步:不连续。上一个操作没有执行完,下一个操作照样开始
        同步:连续执行,上一个操作没有执行完,下一个没法开始

            关于异步,解决方案
                1. 回调函数
                2. 事件监听
                3. 发布、订阅
                4. promise对象
原文地址:https://www.cnblogs.com/xiewangfei123/p/13643834.html