问题标签 [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 - 将 Symbols 引入 ES6 的动机是什么?
更新:最近一篇来自 Mozilla 的精彩文章出现了。如果您好奇,请阅读它。
你可能知道他们计划在 ECMAScript 6 中包含新的 Symbol 原始类型(更不用说其他一些疯狂的东西了)。我一直认为:symbol
Ruby 中的概念是不必要的;我们可以轻松地使用纯字符串,就像我们在 JavaScript 中所做的那样。现在他们决定用 JS 使事情复杂化。
我不明白动机。有人可以向我解释我们是否真的需要 JavaScript 中的符号?
javascript - 使用元组或对象映射
我正在尝试使用新的(ES6)Map
对象来表示属性和值之间的映射。
我有类似于以下形式的对象:
我想根据它们的 key1和key2 值对它们进行分组。
例如,我希望能够通过x
and对以下内容进行分组y
:
并获得包含以下内容的地图:
在 Python 中,我会使用元组作为字典键。ES6 映射允许任意对象作为键,但使用标准的相等算法 ( ===
),因此对象只能通过引用来判断。
如何使用 ES6 映射完成这种分组?或者,如果我忽略了一种优雅的方式,则可以使用普通 JS 对象的解决方案。
我宁愿不使用外部收藏库 - 但如果有更好的解决方案使用我也有兴趣了解它。
javascript - 通过 yield & co 获得承诺的价值
我试图弄清楚如何通过 获得承诺的价值yield
,可能是“co”:
被调用的函数不是生成器,只是一个普通函数。有了上面的someVar == Promise
,但我想要解析的值。co或其他一些图书馆是否有办法做到这一点?
javascript - 试图向 `co( fn ).call` 屈服
在更改它的上下文值时,我无法让 co 恢复:
以上日志:
我尝试将这co( foo ).call
条线包装在一个函数、一个生成器函数和一堆其他东西中。我无法让它工作......帮助!
请注意,如果我co
正常调用,它可以工作。但是我无法设置我试图调用的函数的上下文或传递参数:
javascript - `yield` 和 `yield *` 有什么区别
yield
有人可以解释和之间的区别yield *
吗?
javascript - 什么时候应该使用 let 和 var?
编辑:请阅读问题!我已经知道区别了。这不是重复的。
显然,现在我应该始终使用var
关键字,因为let
并非所有内容都支持。
当 let 关键字有更好的支持时(比如说,我在几年内编写了一个使用 Harmony 的 Node 应用程序),我应该什么时候使用let
关键字与var
关键字?
我理解其中的区别——<code>var 用于函数范围,而let
用于块范围——但我正在寻找类似“始终使用let
关键字”或“var
在函数顶部使用关键字,但在块中使用 let 关键字”之类的东西像 for 循环”。
javascript - TypeScript 编译 .js
我想在 ES6 兼容模式下使用 typescript,作为 ES6 类的部分替代品,因为与 traceur/sweet.js 宏相比,它是非常方便和清晰的编译器。
如何编译带有.js
扩展名的文件?
tsc src/util.js
给出error TS5007: Cannot resolve referenced file: 'src/util.js'
,而tsc src/util.ts
工作得很好。
目录中都有util.js
和util.ts
,src
但我不想有任何.ts
文件。
json - JSON 和 ES6 映射和集合?
ES6/Harmony 为 Maps 和 Sets 引入了新的数据类型。无论如何将 JSON 加载到这些类型中,而不是默认的 Object 和 Array 中?
ecmascript-harmony - Co.js 应用报告“TypeError:无法调用未定义的方法‘应用’”
当我尝试运行我的 Co.app 时,我得到
ecmascript-harmony - Co.js 和 bluebird.js——有什么区别?
有人可以帮我理解在 ES6 Harmony 中使用 Koa.js 和 Bluebird.js 之间的区别。具体怎么做
相比于,
看来 Koa 应该使用 Bluebird 而不是重新创建轮子。有什么不同?