问题标签 [ecmascript-2016]

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 回答
1730 浏览

javascript - ES7 中新的 async 和 await 关键字是从 C# 复制的吗?

注意到在 Java 中找不到 async 和 await,ES7 中的这些新关键字是从 C# 语言复制而来的?我很好奇起源:谁提出了关键字名称,JS 社区中是否有人正在利用 .NET 框架中的概念?

0 投票
3 回答
16743 浏览

javascript - ES7 使用 await 生成器从一系列 Promise 中获取结果

给定一系列承诺,在 ES7 中获得结果的惯用方式是什么?

这是我想要做的:

结果是正确的,但我仍在做 aforEach和 athen将已解决的承诺转化为结果。这对我来说似乎不正确。有没有更清洁的方法?

0 投票
1 回答
3668 浏览

angular - 例外:必须定义令牌!角2

我正在开发我的第一个ES6应用程序,angular2但在使用 es7 装饰器语法时无法正常工作。

entry.js

引导.js

app.component.js

包.json

控制台日志

问题

这里怎么了?我该如何解决这个问题?

有关的

0 投票
2 回答
36383 浏览

javascript - 'typeof varName === 'undefined' 的 ES2015/2016 方式?

我现在正沉浸在 ES2015+ 的奢华中,有几个项目,我想知道我是否可以摆脱令人讨厌的拐杖来检查undefined新的仙境。

typeof varName === 'undefined'在 ES2015+ 中是否有更短但仍然准确的方法?

当然我可以使用默认参数,但这也感觉像是一个不必要的分配。

0 投票
2 回答
132 浏览

javascript - 如何在 ES7 中等待之前启动的函数?

根据第一个结果,我有两个返回值的异步方法,其中一个是立即需要的,另一个可能正在使用中。但是,我不想在启动第二种方法并创建执行序列依赖项之前等待第一个结果出现。

使用 ES7 语法,我假设await-ing a与-ing a 返回 a 的函数Promise相同,但它不起作用:awaitPromise

两个问题:

  1. 我是否正确理解了 Javascript 的异步特性?如果上面的代码可以工作,它会实现我同时运行两个异步函数的目标吗?还是不可能做到这一点?
  2. 是否有可能以某种方式像我尝试过await的对象Promise一样,或者它是否必须直接引用一个函数?

谢谢..

0 投票
1 回答
972 浏览

node.js - NodeJS 5.x + Babel 6 异步/等待调试

当我尝试使用transform-async-to-generatorbabel 插件使用 async/await 调试代码时,我的调试体验参差不齐(尽管我几乎尝试了所有其他组合)。

本质上,带有 await 的代码将跳到方法的末尾,然后进入已编译的代码。视频

如果您查看为该函数生成的代码:

难怪关于结果,但源地图应该处理这个,对吧?

我已经尝试了各种设置(需要钩子/babel-node/babel cli/gulp babel)并遇到同样的问题。我正在使用:节点 5.3.0 和 Babel 6.3

我在github上创建了一个演示项目。我还在babel 线程上发布了这个问题。

编辑: 这个问题是针对 source-maps 项目提出的,因为我不认为这是一个 babel 问题。团队承认该问题是调试器问题。有关更多详细信息,请参阅:github问题

0 投票
1 回答
2749 浏览

javascript - Visual Studio Code ES7/JS 智能感知

我正在尝试使用 Visual Studio Code 来编辑react 初学者工具包项目中的文件。React 项目使用 Babel 进行转码,因此它只有.js文件而不是.ts文件。我希望 VS Code 为这些文件提供适当的智能感知……包括新的 async/await Javascript 关键字

到目前为止,如果我将文件的扩展名从 重命名为 ,我只能让智能感知正常工作.js.ts但我不想仅仅为了适应我的个人工具选择而转换整个项目。

有没有办法让 VS Code 将.js文件视为.ts文件......仅仅是为了 ES7 智能感知?我发现了一个关于这个的讨论线程,但我不确定今天有哪些可用的选项。我还尝试添加一个如下所示的 tsconfig.json 文件:

我希望这会欺骗 Typescript 承认.js文件,但没有运气。

最终,我只想在 VS Code 中使用 ES7 智能感知。如果有完全不同的方法来实现这一点,那也将受到欢迎。就此而言,如果有替代 VS Code 的替代方法可以为 ES7 Javascript 提供智能感知功能,我也很想知道这一点。

0 投票
1 回答
2433 浏览

javascript - 在 Babel 中使用 es7 函数

我想在我的项目中包含 es7 函数,以开始在其中使用 fetch await 异步方式。

我正在使用 gulp、browserify 和 babelify (7.2.0),阅读一些文档我看到说 babelify 使用 es7 函数的方式是将这一行包含到 babelify 转换中:

所以我的整个吞咽任务如下:

不幸的是,我在运行任务时遇到以下错误:

“未知选项:解析文件时的base.optional:”

谷歌搜索了一下,我看到 babelify 7.x 确实使用了 babel 6.0,显然这个参数 optional 在 babel 6.0 中不再存在。

我不想降级我的 babelify 版本以使其工作,但我想在 babelify 版本 7 中包含 es7 函数,有人知道该怎么做吗?

任何帮助将不胜感激,因为那里没有太多关于它的信息

以防万一,也请找到我的 package.json 文件:

0 投票
28 回答
311689 浏览

javascript - 除了一个键,我如何克隆一个 JavaScript 对象?

我有一个扁平的 JS 对象:

我想克隆除一个元素之外的对象:

最简单的方法是什么(如果可能,更喜欢使用 es6/7)?

0 投票
1 回答
2243 浏览

reactjs - ES7 中的类装饰器

我一直在阅读 JavaScript 中的装饰器,并认为我已经掌握了基本前提。

装饰器是函数,它们作为一个或多个参数接收它们应该装饰的内容,并返回结果。

但是我@withStyles在一个 React Boiler Plate 项目中遇到了一个装饰性的实现,我不明白它是如何工作的。

一个用例是

这是如何运作的?