问题标签 [ecmascript-6]

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 投票
17 回答
468642 浏览

javascript - ES6 类变量替代方案

目前在 ES5 中,我们中的许多人在框架中使用以下模式来创建类和类变量,这很舒服:

在 ES6 中,您可以原生创建类,但没有选项可以使用类变量:

可悲的是,上述方法不起作用,因为类只能包含方法。

我知道我可以......但我不想“垃圾”我的构造函数,尤其是当我有 20-30 多个参数用于更大的类时this.myVar = trueconstructor

我想了很多方法来处理这个问题,但还没有找到任何好的方法。(例如:创建一个ClassConfig处理程序,并传递一个parameter与类分开声明的对象。然后处理程序将附加到类。我也在考虑WeakMaps以某种方式集成。)

你有什么样的想法来处理这种情况?

0 投票
3 回答
371 浏览

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

0 投票
1 回答
382 浏览

javascript - 解构返回未定义的变量

我正在尝试 ES6 的新解构特性,但在理解它或让它工作时遇到了一些麻烦。

我希望在控制台中看到,"asd"function() { ... }我得到undefined了两者。

使用火狐 28.0

0 投票
1 回答
4433 浏览

javascript - es6 中的 arguments.callee 替代方法,用于确定调用者函数

在框架中,我正在开发、构建机制,允许定义私有和受保护的属性和方法。
我在 ES5 规范中发现这样做的唯一能力是使用arguments.callee
,如下所示:

至于在严格模式下对 arguments.callee 和 arguments.caller 的调用会引发异常,是否有任何方便的替代方法可以做到这一点?

更新 - 添加了完整的调用函数代码

0 投票
8 回答
11156 浏览

javascript - 延迟执行 ES6 模板文字

我正在使用新的ES6 Template Literals功能,我想到的第一件事是String.format用于 JavaScript,所以我着手实现一个原型:

ES6小提琴

但是,模板文字在传递给我的原型方法之前会被评估。有什么办法可以编写上面的代码将结果推迟到动态创建元素之后?

0 投票
1 回答
953 浏览

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在那里添加语句时,我得到

不知道为什么它给了我启用和谐的选项,但在以前的版本中没有使用它,为什么我不能调试更高版本?

0 投票
3 回答
34226 浏览

node.js - bower init - amd、es6、globals 和 node 之间的区别

我正在创建我的第一个 Bower 组件。运行bower init脚本后问我“这个包暴露了哪些类型的模块?” 使用这些选项:

  • AMD
  • es6
  • 全局变量
  • 节点

这些选项有什么区别?

0 投票
0 回答
261 浏览

javascript - JavaScript ES6 const 中的任何速度优势而不是 var/let

使用 ES6 的“let”或“const”声明而不是旧的忠实 var 会有任何速度优势吗?

0 投票
0 回答
763 浏览

javascript - 如何在没有固定装置的情况下在 Ember-App-Kit 中实现 Ember-Validations

这是这篇文章的副本,这里有一个非常好的 ember-validations 示例(没有 EAK). 但是,我想知道是否有人可以为我做一个 EAK 版本,唯一的区别是 JSBIN 只有在用户模糊了表单输入后才会显示验证错误。此 jsbin 显示加载时的错误。我希望尽快看到验证消息在该字段第一次聚焦之后出现,而不是 onload。我不确定这是 JSBIN 实现的工件还是 ember-validations 的实际预期功能设计。我希望在 git 或 bitbucket 中看到一个干净的 EAK,它只有这个,index.hbs 中相同的 5 或 6 个输入与验证对象中具有相同五个元素的控制器相关联,但不同之处在于它没有'直到控件至少与用户交互一次后才显示错误。我会非常高兴看到用户在终端上为他们的 EAK 添加 ember-validations 的步骤,因为目前,我正在关注下面的这项研究,我不确定问题是否可能不是 EAK 实现,而是我首先将 ember-validations.js 带入我的应用程序的方式。关于应该如何完成,我有一些相互矛盾的建议,但考虑到现在,我至少在页面中看到了错误消息,很难判断包含脚本的方式是否存在问题。js 首先进入我的应用程序。关于应该如何完成,我有一些相互矛盾的建议,但考虑到现在,我至少在页面中看到了错误消息,很难判断包含脚本的方式是否存在问题。js 首先进入我的应用程序。关于应该如何完成,我有一些相互矛盾的建议,但考虑到现在,我至少在页面中看到了错误消息,很难判断包含脚本的方式是否存在问题。

有了这个,我可以看到应用加载时突出显示的错误。但是,对于我的尝试,在添加满意的输入后,我没有看到错误清除或启用了继续按钮。所以我拥有与 JSBIN 和 OP 相同的不需要的功能。这可能是一个更基本的 ember js 问题,或者一个基本的 EAK 问题,但我希望看到一个以 EAK(ES6) 格式设置的简单 ember-validations。带有文件列表,它们的位置,或者更好的是要克隆的 git。

另外,如果可能的话,我希望在没有 FIXTURES 或 DS 商店的情况下完成这项工作。我正在考虑控制器中的一个简单对象。在我看来,一旦创建对象,验证就会触发。那么,如何将验证推迟到与表单控件交互之后?

谢谢!

编辑:所以,我能够实现 EAK 架构......任何对我的解决方案感兴趣的人,现在有一个 bitbucket 存储库供您检查和享受!

编辑2:所以,再看看和思考这个问题。它是有道理的。只有我的样式和消息语言使它笨拙。当然存在:属性使它们看起来像错误,但实际上它们也被实体化为 cta 或行动号召,突出需要注意的领域。当字段最初为空时,不要将它们视为错误,而应将它们视为引起注意的呼唤。由于只要字段无效,我的按钮就被禁用,因此没有理由在任何其他时间收到消息,因为永远不会出现用户在不满足存在和其他属性的情况下提交按钮的用例验证对象。所以,要解决我的“问题”,我只需要以不同的方式考虑错误。我不会使用错误类对它们进行样式设置,而是正常设置它们的样式,并且当满足存在时,显示复选标记或类似的友好内容。所以实际上,这些验证正在按照我的意愿工作。这只是不遵循消息错误样式的开箱即用性质的问题。

双谢!

0 投票
1 回答
3031 浏览

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

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