从今天开始,小编就和大家聊一聊ES9中的新特性和新语法。这些语法和新特性在小编的实际项目中用的并不多。这篇文章之后,小编打算把文章当成字典一样的东西,在以后的项目中,或者其他人写代码的时候用到。至少先认识一下。就像前天看到的一句话,好的代码50%是给机器跑的,另外50%是给人看的。相信以后大家写的代码会越来越好,小编也会和大家一起进步的。也可以关注我的微信公众号,蜗牛全栈。1.同步迭代器:在上一篇文章中,小编更新了一篇关于es6的关于iterableprotocol迭代器协议的文章。大家可以看看小编《ES6中的Module与Interator》的这篇文章,下面我简单写个例子。constarr=["es6","es7","es8","es9"]arr[Symbol.iterator]=function(){letnextIndex=0return{next(){returnnextIndex{setTimeout(()=>{resolve(time)})},time)}constarr=[getPromise(1000),getPromise(2000),getPromise(3000)]for(letitemofarr){console.log(item)//Promise{pending}Promise{pending}Promise{pending}}2、异常循环:使用关键字asyncIteratorfunctiongetPromise(time){returnnewPromise((resolve,reject)=>{setTimeout(()=>{resolve(time)})},time)}constarr=[getPromise(1000),getPromise(2000),getPromise(3000)]for(letitemofarr){console.log(item)//Promise{pending}Promise{pending}Promise{pending}}functiongetPromise(time){returnnewPromise((resolve,reject)=>{setTimeout(()=>{resolve({value:time,done:false})})},time)}constarr=[getPromise(1000),getPromise(2000),getPromise(3000)]arr[asyncIterator]=function(){letnextIndex=0return{next(){returnnextIndex