问题标签 [ecmascript-2018]

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

javascript - 为什么使用扩展语法适用于基元和函数?

在测试一些代码时,我遇到了一些我以前并不完全熟悉的语法:

当我运行上面的代码时,我想,我猜你可以传播布尔值。但我也测试了其他原始数据,例如整数,甚至是函数:

我一直认为扩展语法只适用于数组、对象和其他可迭代对象(如字符串),否则会导致语法错误。为什么它在我的示例中有效,为什么它们返回 void?

0 投票
1 回答
42 浏览

javascript - 等待 asyncIterator 生成器函数中的异步操作

我有这个Queue类(不是真正的实现,但它体现了我的观点):

它只是 Javascript 的包装器,只是Array它的方法返回一个Promise.

我想要做的是根据pop()方法的返回值有条件地产生,我不能这样做,因为它不是生成器函数await内部的有效操作。asyncIterator

我考虑过在上一次迭代中设置一个标志:

但这仍然会undefined在最后一次执行时返回一个值pop()

我可以在调用代码中通过检查一个undefined值作为迭代结束的信号来处理这个问题,但我想知道是否有更好的方法来解决这个问题。

0 投票
2 回答
32 浏览

javascript - 使用键名将数组转换为对象

转换的最佳方法是什么:

0 投票
1 回答
50 浏览

javascript - 在 Typescript 应用程序中找不到 JSON

我有一个简单的采购类:

我有一个结帐组件,它执行以下操作:

在此下面的行给出了错误Cannot find name 'JSON'.ts(2304)

我怀疑问题是我有以下配置tsconfig.json

我尝试更改es2018为,es5但这并没有解决我的问题。无论哪种方式,肯定应该有一种方法来做这种事情es2018。谁能告诉我如何解决这个问题?