标签: ecmascript-harmony

如何在JavaScript中使用五位长的Unicode字符

在JavaScript中,我可以这样做:

foo = "\u2669" // 1/4 note
Run Code Online (Sandbox Code Playgroud)

但我不能这样做

foo = "\u1D15D" // full note  -five hex digits
Run Code Online (Sandbox Code Playgroud)

它将被解释为"\ u1D15"后跟"D"

这有什么变通方法吗?

更新2012-07-09:ECMAScript Harmony的提议现在包括对所有Unicode字符的支持.

javascript unicode ecmascript-harmony

11
推荐指数
2
解决办法
2603
查看次数

是否有Node.js的标志列表?

我正在尝试找到Node.js接受的所有标志的列表,特别是那些用于ES6-Harmony功能的标志,但我找不到任何标志.有这样的事吗?

node.js ecmascript-harmony

11
推荐指数
2
解决办法
9254
查看次数

ES6模块与HTML导入

HTML ImportsWeb Components规范的一部分,它提供了一种处理Web依赖关系的方法.ES6模块也做同样的事情,但仅适用于Javascript代码.

关于这两者如何协同工作是否有任何明确性?

编辑:一个例子:在我最近的一个项目中,我有两个Javascript组件(文件),其中一个依赖于另一个,但任何HTML代码(这是另一个组件)都可以使用它们中的任何一个.因此,当我在HTML中包含依赖脚本时,我也不想包含父脚本(避免手动依赖性处理).似乎没有明确的方法来实现它,除了将ES6模块与脚本包括混合.我看到的唯一选择是为每个组件维护一个单独的文件,并指定所需的文件和依赖项,例如component.io.

web-component ecmascript-harmony

11
推荐指数
2
解决办法
3850
查看次数

ES6模块导出默认语法

我正在使用es6-module-transpiler,esprima和JSHint以及esnext: true选项.当我提出时,JSHint抱怨:

export default = { some: 'thing', other: 'thing' };
Run Code Online (Sandbox Code Playgroud)

但是esprima在我使用时抱怨

export default { some: 'thing', other: 'thing' };
Run Code Online (Sandbox Code Playgroud)

规范

export default AssignmentExpression ;

这让我觉得JSHint需要更新和esprima正确地轰炸,因为没有任务.有人可以成为我的决定者吗?

javascript ecmascript-harmony jshint esprima

11
推荐指数
1
解决办法
9146
查看次数

垃圾收集缓存通过Javascript WeakMaps

我想在JS中缓存大对象.这些对象是按键检索的,缓存它们是有意义的.但它们不会同时适合内存,所以我希望它们在需要时进行垃圾收集 - GC显然知道更好.

使用其他语言中的WeakReference或WeakValueDictionary来创建这样的缓存是非常简单的,但是在ES6中我们有WeakMap,而密钥很弱.

那么,是否有可能制作类似于WeakReference或制作垃圾收集的缓存WeakMap

javascript caching garbage-collection ecmascript-harmony ecmascript-6

11
推荐指数
2
解决办法
1337
查看次数

摩卡是否忽略mocha.opts中的--harmony选项?

在我的测试目录中,我有一个mocha.opts包含以下内容的文件:

--harmony
--recursive
--growl
--reporter spec
--require should
Run Code Online (Sandbox Code Playgroud)

当我运行时mocha,我收到以下错误:

/project/server/utilities/encryption.js:3
const
^^^^^
SyntaxError: Use of const in strict mode.
Run Code Online (Sandbox Code Playgroud)

当然,这是因为我的使用const需要ES6 Harmony.当我跑步时mocha --harmony,我的测试执行得很好.我mocha.opts文件中的其他条目按预期工作.

由于某种原因,mocha.opts文件是否忽略了--harmony参数?或者我做错了吗?摩卡文档没有详细说明,我无法在这里或其他任何地方找到答案.

javascript unit-testing mocha.js ecmascript-harmony

11
推荐指数
1
解决办法
2147
查看次数

ES6中的函数参数定义

我确信这是相对简单的,我错过了一些明显的东西.我正在阅读Mozilla关于ES6 的教程,他们关于解构章节包含以下模式:

功能参数定义

作为开发人员,我们通常可以通过接受具有多个属性作为参数的单个对象来展示更符合人体工程学的API,而不是强迫我们的API使用者记住许多单个参数的顺序.每当我们想要引用它的一个属性时,我们可以使用解构来避免重复这个单个参数对象:

function removeBreakpoint({ url, line, column }) {   
    // ... 
}
Run Code Online (Sandbox Code Playgroud)

这是Firefox DevTools JavaScript调试器(也在JavaScript-yo dawg中实现)的简化现实代码片段.我们发现这种模式特别令人愉悦.

我不明白这与解构有何关系.您是否允许将对象传递给此函数的想法,只要它包含所有项目,即可以按任意顺序进行,即{ line: 10, column: 20, url: 'localhost' }

如果是这样,那么有什么好处呢

 function removeBreakpoint(params) {   
     // ... 
 }
Run Code Online (Sandbox Code Playgroud)

其中params为与对象url,linecolumn?是否只是强制Javascript在通过显式定义它们时在析构化上下文中使用时验证函数的参数?

javascript ecmascript-harmony ecmascript-6

11
推荐指数
1
解决办法
852
查看次数

*JavaScript中的*if*expression*语法(FF)

我已经看到一些示例表明Firefox支持某种JavaScript语法*something* if *expression*;.

作为我正在谈论的一个例子,请参阅此MDN文章,其中包含以下示例:

var evens = [i for each (i in range(0, 21)) if (i % 2 == 0)];
Run Code Online (Sandbox Code Playgroud)

我的问题是:

用什么名字来描述这种语法?我主要想知道这一点,以便我可以谷歌它并阅读更多相关信息.我已经尝试了谷歌搜索我能想到的最好的,但未能将正确的术语放在一起以获得有用的结果.

这种语法可以存在于数组理解之外的其他地方吗?我觉得我已经看到过在数组之外使用的其他示例(例如上面的例子中),但我不确定.

在哪里可以阅读有关此语法的更多信息?

除了Firefox之外,还有其他浏览器支持吗

这个功能是ES5还是ES-harmony的计划?

javascript ecmascript-harmony

10
推荐指数
1
解决办法
173
查看次数

通过node和nvm获取ES6功能

我已经有节点0.10.*并且我安装了nvm,然后通过nvm我再次安装了0.11.13和0.10.

node --version返回0.11.13

我尝试使用我读过的一些ES6功能,而我尝试过的任何功能都没有.

我用我的脚本运行 node --harmony index.js

...argsSyntaxError: Unexpected token .

let x = 5; 也给出了错误 - SyntaxError: Unexpected identifier

我在哪里可以找到0.11.13目前支持的内容?

node.js ecmascript-harmony nvm

10
推荐指数
1
解决办法
7639
查看次数

在ES 6/Harmony中拆分类定义

假设我在一个大文件中有一个类,如下所示:

export default class {
  constructor () {}
  methodA () {}
  methodB () {}
  methodC () {}
}
Run Code Online (Sandbox Code Playgroud)

我想分手类的定义,这样methodA,methodBmethodC分别在自己单独的文件中定义.这可能吗?

javascript ecmascript-harmony ecmascript-6

10
推荐指数
2
解决办法
1626
查看次数