问题标签 [ecmascript-2020]

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 投票
0 回答
198 浏览

node.js - 我不能在 TypeScript 4.2.4 中使用 Promise.allSettled()

我想在我的 Node.js项目中使用es2020

所以我将它添加到我的tsconfig.json文件中:

但是当我尝试编译时,我遇到了这个错误:

tsconfig.json(6,37):错误 TS6046:“--lib”选项的参数必须是:“es5”、“es6”、“es2015”、“es7”、“es2016”、“es2017”、“es2018” ,'esnext','dom','dom.iterable','webworker','scripthost','es2015.core','es2015.collection','es2015.generator','es2015.iterable','es2015。承诺','es2015.proxy','es2015.reflect','es2015.symbol','es2015.symbol.wellknown','es2016.array.include','es2017.object','es2017.sharedmemory',' es2017.string'、'es2017.intl'、'es2017.typedarrays'、'es2018.promise'、'es2018.regexp'、'esnext.array'、'esnext.asynciterable'。

为什么es2020没有列在那里??

我也尝试了与这个人相同的配置(他将 Promise.allSettled() 与 Node.js 一起使用),但它对我不起作用:Unable to get the value from Promise.allSettled in NodeJs 12 with Typescript 3.8.3 version

我使用的 TypeScript 版本是 4.2.4 ( tsc -v)

并且 Node.js 版本是 12.19.0 ( node -v)

我错过了什么?

0 投票
4 回答
1437 浏览

javascript - vue 2.6项目中如何使用es2020特性?

我有一个 Vue 2.6 项目,我想在我的项目中使用 es2020 特性,如可选链接,但我无法让它在我的项目中工作。我收到以下错误。

我已经安装了 babel 插件,但我得到了同样的错误。

我一直在谷歌搜索,但我没有找到任何关于它的信息。

这些是我项目的依赖项

请帮我!

0 投票
1 回答
1907 浏览

angular - Angular 9 无法加载带有可选链接的 pdfjs (v. 2.8.335) 模块

我正在尝试在我的 Angular 应用程序中将 pdfjs 模块更新到下一个版本(2.8.335)并收到以下错误:

这个问题与@angular-devkit/build-angular@0.901.15 使用的webpack 版本有关,我使用了适用于Angular 9 的最新版本。这个版本的build-angular 使用了触发这些错误的webpack@4.42.0。我发现在高于 5 版本的 webpack 中支持可选链接和空合并,但我受限于 Angular 9,无法将其更新到更高版本以加载 build-angular 和作为依赖项,webpack 到更高版本。

有没有办法配置 webpack 以支持 js 的可选链接和空合并功能,以便将模块加载到我的应用程序中?

0 投票
2 回答
42 浏览

javascript - ECMAScript 2020 中的“identifier”和“identifierName”有什么区别?

https://262.ecma-international.org/11.0/#prod-IdentifierName 我不太了解 ECMAScript 2020 中“标识符”和“标识符名称”之间的区别。

0 投票
2 回答
65 浏览

javascript - 错误 Javascript 中的速记属性初始值设定项无效

为什么在我的 Chrome 浏览器上运行时出现错误 Invalid shorthand property initializer?

0 投票
2 回答
183 浏览

javascript - 检查打字稿中数组中是否存在元素组合的最佳方法

我有一个包含一些元素的数组,我想检查数组中是否存在某个元素组合,目标元素后面跟着检查集的任何元素,如果是,则返回 true,否则返回 false。例如,如果 inputArray 是 ['a', 'b', 'c', 'd'] 并且寻找组合是 ['a', 'd'] 那么它应该返回 true 因为 inputArray 两者都在正确的序列中. 如果 inputArray 是 ['d', 'b', 'c', 'd', 'a'] 并且组合是 ['a', 'd'],那么它应该是假的,因为 inputArray 包括这两个元素但在错误的顺序或

我可以使用 Set 和 while 循环,但我想知道是否有更优雅或更现代的方法?

0 投票
1 回答
242 浏览

typescript - 如何使用 Jest 调整 Typescript StencilJS 以支持 ES6 动态模块导入

这里有许多类似的问题(...),但没有一个可以帮助我获得纯模板配置。配置管理应尽可能留给 Stencil IMO (...)

我的 Stencil 组件工作正常,我几乎尝试了所有方法,但是需要导入的 Jest 规范测试d3-geo一直在抛出我:

我错过了什么?

我可能可以使用 Babel 来完成这项工作,但这似乎很老套。我无法想象我们实际上需要一个 Babel 预洗来获得 ES6 模块支持。

应用细节:

  • Node@14.16.0(来自 docker-image buildkite/puppeteer)
  • 模板@2.6.0
  • 开玩笑@26.6.3
  • 打字稿@4.4.2
  • 导致错误的模块:d3-geo @3.0.1

我在 package.json 中有开玩笑的配置:

并且 tsconfig 包含:

0 投票
3 回答
93 浏览

javascript - 如何在 es6 中扁平化对象数组?

我有一个对象数组。我想提取嵌套对象并将其作为预期输出返回。我的方法已经行不通了,也不确定它是否能有效地迭代大量数据。

我需要扁平化/转换数据,如

但我得到

未捕获的类型错误:无法将未定义或 null 转换为对象

谢谢

0 投票
0 回答
72 浏览

javascript - 未捕获的 ReferenceError:在初始化之前无法访问“jobTreeReducers”

在我们的应用程序中,我们使用 Angular(版本 10)和 ngrx(版本 7)。在我更改 tsconfig 之前,我的应用程序运行良好。我更改了以下属性:

从那时起,我开始收到以下错误:

以下是错误引发模块的文件夹结构

在此处输入图像描述

job-tree-store.module.ts 是

我导入了它并在应用程序模块中使用。

请帮我解决这个问题。

谢谢...

0 投票
0 回答
46 浏览

ionic-framework - Ionic 框架是否与 tsconfig 目标 ES2020 兼容

我正在使用带有 npm 工作区的单声道存储库。回购有3个包

  1. 服务器 - 服务器代码
  2. commons - 服务器和 ionic-app 之间共享的公共代码
  3. 离子应用程序 - 离子应用程序

服务器和公共应用程序都配置了“ES2020”的目标,如下所示。

但是使用 commons 包的 ionic react 应用程序的目标是“es5”。为了配合commons tsconfig,如果我将ionic app 的target 改为“ES2020”,module 改为“commonjs”,在移动平台(尤其是旧手机)运行app 时会不会出现兼容性问题?