问题标签 [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.

0 投票
1 回答
5776 浏览

javascript - ECMAScript 6 中是否需要“使用严格”?

我想知道 ECMAScript 6 什么时候来,我们还需要在 js 代码中加上“use strict”吗?

0 投票
1 回答
3031 浏览

javascript - 我应该使用 TypeScript 还是 ES6 编译到 es3/5

我是否正确假设当浏览器足够支持时,我将能够从打字稿代码库切换到纯 ES6 代码库?我试图回答自己的问题是我应该使用打字稿还是 ES6 + 编译器来 es3/5。

0 投票
2 回答
238 浏览

node.js - 编写一个将 module.exports 设置为生成器函数的 NPM 模块是否可以?

如果你想发布一个有顺序 IO 的模块,是否可以编写,

从而允许类似的东西,

0 投票
9 回答
124757 浏览

javascript - 我什么时候应该在 ECMAScript 6 中使用箭头函数?

我们得到了两种非常相似的方式来在 ES6 中编写函数() => {}function () {}在其他语言中,lambda 函数通常通过匿名来区分自己,但在 ECMAScript 中,任何函数都可以是匿名的。这两种类型中的每一种都有唯一的使用域(即this需要显式绑定或显式不绑定时)。在这些域之间,有大量的情况可以使用任何一种表示法。

ES6 中的箭头函数至少有两个限制:

  • 创建时不要使用new,也不能使用prototype
  • this在初始化时固定绑定到范围

除了这两个限制之外,箭头函数理论上几乎可以在任何地方取代常规函数。在实践中使用它们的正确方法是什么?是否应该使用箭头函数,例如:

  • “它们工作的所有地方”,即在任何地方,函数都不必对this变量不可知,而且我们不是在创建对象。
  • 只有“需要它们的任何地方”,即需要绑定到某个范围的事件监听器、超时
  • 具有“短”功能,但不具有“长”功能
  • 仅适用于不包含另一个箭头函数的函数

我正在寻找在未来版本的 ECMAScript 中选择适当函数表示法的指南。该指南需要清晰,以便可以教授给团队中的开发人员,并且要保持一致,这样就不需要不断地从一个函数符号到另一个函数符号来回重构。

这个问题是针对那些在即将到来的 ECMAScript 6 (Harmony) 的上下文中考虑过代码风格并且已经使用过该语言的人。

0 投票
2 回答
10368 浏览

javascript - NodeJS 和谐在导入时给出 SyntaxError

我正在使用带有标志 child_process 的 ES6 测试节点,--harmony但在我导入时它在第一步失败。有任何想法吗?

我跑:

我得到:

0 投票
2 回答
1471 浏览

javascript - 如何对 ES6 生成器进行特征检测?

我真的很喜欢 ES6 生成器。有没有办法可以检测浏览器中的生成器支持?我知道生成器目前可能不在很多浏览器中(或者可能根本没有浏览器),但这对于我的目的来说是可以的。

我试过了:

但这似乎不起作用。

如何检测浏览器中对 ES6 生成器的支持?

0 投票
0 回答
129 浏览

javascript - ECMAScript 6 到 ECMAScript 3 转译器?

作为从 ECMAScript 6 到 ECMAScript 5 的转译器,我熟悉 Google Traceur 项目(它被认为已准备好在关键系统中用于生产);不幸的是,我仍然必须支持仅兼容 ECMAScript 3 的 IE 8!

我很好奇是否有任何项目可以从 ECMAScript 6 转换到 ECMAScript 3,这样我就可以现在开始使用 ECMAScript 6 功能,然后在最终弃用 IE8 后切换到该代码库。

0 投票
1 回答
142 浏览

json - 生成器 - thunkifying JSON.parse 返回奇怪的结果

我正在尝试使用 co 和生成器读取 JSON 文件。test.json包含:

这通过jsonlint了,所以它应该是有效的。这是我目前的代码:

仅记录一个空对象。然而fileContents已经满了,所以它似乎是 JSON.parse 部分被破坏了。我究竟做错了什么?

0 投票
1 回答
159 浏览

javascript - 在 Visual Studio 中支持数组理解

我一直在阅读 Javascript 的新功能并注意到 Array Comprehension 的东西。我已经在我当前的项目中尝试过这个,但似乎 Visual Studio 不喜欢这种语法。我做错了吗?

0 投票
1 回答
72 浏览

javascript - 什么是扩展等于脱糖时,javascript和谐

假设我有一个 ecmascript 5 类

extends但它是使用新的 ecmascript 类语法定义的,会创建一个车辆用作原型的“汽车”类,vehicle.prototype还是会使用新的车辆实例?