问题标签 [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.
node.js - 在 heroku 上运行最新的不稳定 nodejs(例如 0.11.6)
我一直没有找到答案:
在 heroku 上为现有应用程序安装/运行最新版本的 nodejs 的最简单方法是什么?
此处描述了 package.json 引擎的使用: https ://devcenter.heroku.com/articles/nodejs-support
但这不包括我所追求的最新的不稳定 0.11.x 分支。
javascript - 是否可以在 ecmascript-harmony 中找出对象的类和模块
在阅读 ecmascript-harmony 规范时,我看不到任何有关检查实例/对象以查找有关其类和模块的信息的信息。我想要做的是能够检查一个 javascript 对象(即 es6 和谐类的一个实例)并找出:
- 实例化它的类的名称
- 定义类的模块的名称
- 可能的超类及其模块的名称
有人知道这在 es6 中是否可行?
如果没有,是否有理由不可能或首选?
我可以想到一个可能的问题,即类没有像类与其他语言(即 Java)的包那样“绑定”到它们的模块。即,如果在 ModuleA 中定义 ClassA 并且 ModuleB 导入 ClassA 以稍后重新导出它会发生什么?
javascript - ES6 类继承的性能
与在 Javascript 中创建“类”的实际方式相比:
到新的 ES6 类
找不到任何性能比较,但我真的对 __proto__/Object.setPrototypeOf 继承感兴趣,而不仅仅是 ES6 提供的“类糖”。
node.js - Nodejs Harmony/ES6 中的地图集合坏了?
似乎 Nodejs 0.10.20 中的 Map 已损坏。我用 --harmony (包括 --harmony_collections 标志)启动它。
如需参考,请查看http://dailyjs.com/2012/10/15/preparing-for-esnext/。
下面的示例在 Firefox 20.0 中运行。
在 Nodejs 控制台中,我执行以下操作
> var map = new Map([ ["name", "Nicholas"], ["title", "Author"]]);
未定义
> 地图
{}
所以构造函数初始化似乎不起作用。然后我按照 Firefox 示例进行操作,但它们大多不起作用:
> console.log(map.has("name")); // true
false
undefined
> console.log(map.get("name")); // "尼古拉斯"
undefined
undefined
> console.log(map.has("title")); // true
false
undefined
> console.log(map.get("title")); // “作者”
undefined
undefined
> console.log(map.size()); // 2
TypeError: Object # has no method 'size'
at repl:1:17
at REPLServer.self.eval (repl.js:110:21)
at repl.js:249:20
at REPLServer.self.eval (repl .js:122:7)
在接口。(repl.js:239:12)
在接口。
在 Interface._onLine (readline.js:202:10)
在 Interface._line (readline.js:531:8)
在 Interface._ttyWrite (readline.js:760:14)
在 ReadStream.onkeypress (readline.js:99: 10)
我很困惑这些基本的 Map 方法不起作用。我有 Nodejs 版本 0.10.20
node.js - 在模块的运行时启用 V8 中的 Harmony ES6 功能?
节点 v0.10.20 提供了许多与和谐有关的选项,
我知道这些不是生产就绪的功能并且它们正在开发中,但其中许多已经足够好了。
有没有办法在运行时启用它们?
类似上面的东西。即使不只是模块级启用这些功能,最好确保它们在模块内部启用,而不是假设它们已启用。
javascript - 使用生成器处理异常
所以最近生成器在 NodeJS 中出现了,我可以做类似的事情:
现在生成器很棒,因为它们让我在 JS 中执行 async/await。我真的很喜欢能够做到这一点。
但是,出现了一个问题。生成器使用 try/catch 块,所以假设我的代码如下所示:
(注意,Promise.coroutine 来自bluebird)
注意到错误了吗?然而,有一个参考错误——catch 会吞下它。
当我在 95% 的情况下使用 try/catch 时,我想要捕捉的是逻辑错误和 I/O 错误,而不是语法或类型错误。我想非常非常清楚这些。回调使用err
第一个参数,在生成器中我不确定替代品是什么。
如何处理 JavaScript 生成器代码中的异常处理?
一个好的解决方案可以让我保留堆栈跟踪。
javascript - 其他人可以在他们的 Node.js REPL 中使用 let 语句吗?
可能吗?它似乎在我的 REPL 中不起作用,无论有没有--harmony
.
我真正想做的是使用 for..of 循环,但 let 似乎更容易排除故障,并且可能是相同的原因。
有人知道这些的状态吗?
javascript - 如何将集合转换为数组?
Set似乎是创建具有保证唯一元素的数组的好方法,但它没有公开任何获取属性的好方法,除了生成器 [Set].values,它以一种尴尬的方式调用mySet.values.next()
。
如果您可以map
在 Sets 上调用和类似功能,这将是可以的。但你也不能那样做。
我试过Array.from
了,但似乎只将类似数组的(NodeList 和 TypedArrays ?)对象转换为 Array。另一种尝试:Object.keys
不适用于Sets,并且Set.prototype没有类似的静态方法。
所以,问题是:是否有任何方便的内置方法来创建具有给定 Set 值的 Array ?(元素的顺序并不重要)。
如果不存在这样的选择,那么也许有一个很好的惯用单线来做到这一点?喜欢,使用for...of
,还是类似的?
javascript - 覆盖 Object.observe() 中的属性
我想使用 Chrome 的实验性Object.observe()来覆盖对象上设置的所有函数:
不幸的是,控制台仍然显示"helloWorld() was called"。实际上是否可以覆盖对象观察者中当前更改的值?
由于这只是一个实验(没有生产代码!),我很欣赏任何类型的解决方案。