问题标签 [ecmascript-harmony]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 使用 JavaScript ES6 箭头函数的即时函数
有谁知道如何使用 ES6 箭头语法编写立即函数?
这是 ES3/5 的做法:
我尝试了以下方法,但unexpected token
在最后一行出现错误。
你可以在这里测试:http: //www.es6fiddle.net/hsb8bgu4/
javascript - 测试nodejs和谐生成器方法
假设你有以下 JS 函数:
您可以在带有 ES6 生成器的 node.js 上使用它来等待该操作发生,例如:
为了测试我做了这样的事情,使用 mocha 和 sinon(和 mocha-sinon):
但我得到的只是回调永远不会被调用,因为 addToDB() 在调用 save 的回调之前退出。
你将如何测试它?
javascript - 使用 JavaScript ES6 模块导入现有库
如何使用 JavaScript 的 ES6 模块加载和运行现有库?
例如,假设我需要加载一个现有的 polyfill:
如何在poly
不更改源的情况下运行导入的脚本并将其属性加载到当前命名空间中?
这里有两个实际问题可以帮助澄清我要解决的问题:
我有一个名为
rafPolyfill.js
window.requestAnimationFrame 的脚本。我需要将它导入全局范围并在加载后立即运行它。<script>
使用标签很容易做到这一点:
它运行并将自身加载到全局范围内。使用 ES6 模块如何做到这一点?
我有另一个脚本
Font.js
,它是字体的预加载器。它让您可以像这样创建新的字体对象:var 字体 = 新字体();
我通过使用脚本标签加载 Font.js 来使用它,如下所示:
如果不访问、更改或理解此脚本的源代码,如何使用 ES6 模块以与使用<script>
标签相同的方式加载和使用?我只需要这些脚本在加载时运行并照顾好自己。
一个可能的解决方案可能是使用模块加载器 API:
http://wiki.ecmascript.org/doku.php?id=harmony:module_loaders
本文档描述了加载器的全局绑定System
,但恐怕我没有足够的词汇来完全理解它试图解释的内容。对解码本文档的任何帮助将不胜感激!
google-chrome - Chrome 中的 ES6 符号
我正在 Google Chrome 中试验新的 ES6 符号,在 Chrome 标志中启用“实验性 JavaScript”后,我可以new Symbol()
在我的代码中使用。
但是,当我尝试运行以下代码时:
我收到以下错误:
TypeError: Conversion from symbol to string
我的代码有什么问题?
谢谢!
javascript - ES6 Template String testbed
I'm really interested in finding out about ES6 Template Strings and have been doing a little bit of reading on the feature.
However now that Chrome Canary does not support it (although maybe I'm wrong about that!) is there anywhere/anything I can use to try out this new functionality? Any browser beta around that does?
I've already enabled Experimental Javascript Features inside chrome://flags
javascript - 解构返回未定义的变量
我正在尝试 ES6 的新解构特性,但在理解它或让它工作时遇到了一些麻烦。
我希望在控制台中看到,"asd"
但function() { ... }
我得到undefined
了两者。
使用火狐 28.0
javascript - “新”和直接调用生成器函数有什么区别?
我知道“新”和直接调用普通函数之间的区别。
但是生成器函数的情况如何?
例如:
好像他们是一样的?
node.js - 节点无法启用和谐功能
尝试运行这些新功能,如http://h3manth.com/new/blog/2013/es6-on-nodejs/所示,特别是我本地节点环境中的生成器。当我node --harmony --use-strict es6.js
在 0.11.4 之前的任何 Node 版本上运行时,任何原因都会出现错误
它适用于任何版本 0.11.4 及更高版本,但是当--debug-brk
在那里添加语句时,我得到
不知道为什么它给了我启用和谐的选项,但在以前的版本中没有使用它,为什么我不能调试更高版本?
javascript - 发电机良率差
假设我们有以下生成器函数:
我们还有两个生成器产生以上生成器:
有人知道 之间有什么区别吗yield gen1
yield *gen1
?发电机有什么作用*
?