es6知识整理

1.箭头函数需要注意的地方

        *当要求动态上下文的时候,就不能够使用箭头函数,也就是this的固定化。

        (1)在使用=>定义函数的时候,this的指向是定义时所在的对象,而不是使用时所在的对象;

        (2)不能够用作构造函数,这就是说,不能够使用new命令,否则就会抛出一个错误;

        (3)不能够使用arguments对象;

        (4)不能使用yield命令;

        class Animal {

          constructor() {

            this.type = "animal";

          }

          say(val) {

            setTimeout(function () {

              console.log(this); //window

              console.log(this.type + " says " + val);

            }, 1000)

          }

        }

        var animal = new Animal();

        animal.say("hi"); //undefined says hi

        class Animal {

          constructor() {

            this.type = "animal";

          }

          say(val) {

            setTimeout(() => {

              console.log(this); //Animal

              console.log(this.type + ' says ' + val);

            }, 1000)

          }

        }

        var animal = new Animal();

        animal.say("hi"); //animal says hi

2.promise

        var promise = new Promise((resolve, reject) => {

          if (操作成功) {

            resolve(value)

          } else {

            reject(error)

          }

        })

        promise.then(function (value) {

          // success

        }, function (value) {

          // failure

        })

        setTimeout(function () {

          console.log(1)

        }, 0);

        newPromise(function executor(resolve) {

          console.log(2);

          for(vari = 0; i < 10000; i++) {

            i == 9999 && resolve();

          }

          console.log(3);

        }).then(function () {

          console.log(4);

        });

        console.log(5);------------------------------2 3 5 4 1

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

推荐阅读更多精彩内容