[ES6] Generators

Example 1:

function *topicList(){
  yield "ES2015";
  yield "Semi-colons: good or bad?";
  yield "TypeScript";
}

for( let topic of topicList() ){
  console.log( topic );
}

Example2:

let user = {
  name: "sam", totalReplies: 17, isBlocked: false
};

user[Symbol.iterator] = function  *(){for(let p of properties){
    yield this[p];
  }
};

for(let p of user){
  console.log( p );
}
时间: 2024-10-12 18:54:26

[ES6] Generators的相关文章

ES6 Generators的异步应用

ES6 Generators系列: ES6 Generators基本概念 深入研究ES6 Generators ES6 Generators的异步应用 ES6 Generators并发 通过前面两篇文章,我们已经对ES6 generators有了一些初步的了解,是时候来看看如何在实际应用中发挥它的作用了. Generators最主要的特点就单线程执行,同步风格的代码编写,同时又允许你将代码的异步特性隐藏在程序的实现细节中.这使得我们可以用非常自然的方式来表达程序或代码的流程,而不用同时还要兼顾如

Mozilla正在SpiderMonkey中测试JavaScript并行计算

Mozilla正致力于实现JavaScript“并行(parallelism)计算”,以便充分利用硬件性能.Dave Herman是Mozilla Research的首席研究员和策略总监.近日,他在一篇博文中提到,他们正在其JavaScript引擎SpiderMonkey中进行相关实验. 他们试图通过一种底层的.渐进的方法为JavaScript添加更加灵活和强大的并行计算原语.他首先指出: 我正在谈论的不是“并发(concurrency)”……JavaScript的异步并发模型很受欢迎,也取得了

Express/Koa/Hapi

Express/Koa/Hapi 本文翻译自: https://www.airpair.com/node.js/posts/nodejs-framework-comparison-express-koa-hapi 1.介绍 直至今日,Express.js仍然是最为流行的Node.js Web应用程序框架.它似乎已经逐渐成为大多数Node.js Web应用程序的基础依赖框架,包括很多流行的框架,比如Sail.js就是以Express.js为基础搭建的.然而现在我们有了更多"类sinatra&quo

20个为前端开发者准备的文档和指南

20个为前端开发者准备的文档和指南 来源:codeceo 发布时间:2016-07-27 阅读次数:358 0 是时候重新学习了!和以前一样,我收集了很多不同的学习资源,包括学习指南,学习文档,和其他有用的网站来帮助你在前端开发的不同领域里快速地进入状态. 所以请尽情享受我们的文档和指南系列的第九部分,并且不要忘了在评论区让我知道任何我没有找到的. 1. JavaScript Standard Style(JavaScript标准样式) 链接:http://standardjs.com Java

[转] Understanding JavaScript’s async await

PS:Promise的用处是异步调用,这个对象使用的时候,call then函数,传一个处理函数进去,处理异步调用后的结果 Promise<Action>这样的对象呢,异步调用后的结果是一个Action,传到处理函数里 async/await的作用是,不需要写then函数了,相当于与自动帮你写,你只需要把异步调用后的结果保存下来就可以了 https://ponyfoo.com/articles/understanding-javascript-async-await http://liubin

WebAssembly系列2-为什么我们需要WebAssembly—采访Brendan Eich

在2015.06.17, JavaScript之父Brendan Eich宣布了一个新项目:将新的底层功能(low level primitives)带入web中[1],?这将使在浏览器或其他JavaScript环境中采用类似于C & C++等语言编写的项目的编译更加容易.如果是第一次听到这个想法,可参见阅读"What is WebAssembly"的基本描述[3]. WebAssembly团队包括来自Google, Microsoft, Mozilla, Apple, 以及W

25.参考链接

参考链接 参考链接 官方文件 ECMAScript? 2015 Language Specification: ECMAScript 2015 规格 ECMAScript? 2016 Language Specification: ECMAScript 2016 规格 ECMAScript? 2017 Language Specification:ECMAScript 2017 规格(草案) ECMAScript Current Proposals: ECMAScript 当前的所有提案 ECM

es6学习笔记二:生成器 Generators

今天这篇文章让我感到非常的兴奋,接下来我们将一起领略ES6中最具魔力的特性. 为什么说是"最具魔力的"?对于初学者来说,此特性与JS之前已有的特性截然不同,可能会觉得有点晦涩难懂.但是,从某种意义上来说,它使语言内部的常态行为变得更加强大,如果这都不算有魔力,我不知道还有什么能算. 不仅如此,此特性可以极大地简化代码,它甚至可以帮助你逃离"回调地狱". 既然新特性如此神奇,那么就一起深入了解它的魔力吧! ES6生成器(Generators)简介: 什么是生成器? 我

深入浅出ES6(三):生成器 Generators

作者 Jason Orendorff  github主页  https://github.com/jorendorff ES6生成器(Generators)简介 什么是生成器? 我们从一个示例开始: function* quips(name) { yield "你好 " + name + "!"; yield "希望你能喜欢这篇介绍ES6的译文"; if (name.startsWith("X")) { yield "