问题标签 [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.
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
)
我错过了什么?
javascript - vue 2.6项目中如何使用es2020特性?
我有一个 Vue 2.6 项目,我想在我的项目中使用 es2020 特性,如可选链接,但我无法让它在我的项目中工作。我收到以下错误。
我已经安装了 babel 插件,但我得到了同样的错误。
我一直在谷歌搜索,但我没有找到任何关于它的信息。
这些是我项目的依赖项
请帮我!
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 的可选链接和空合并功能,以便将模块加载到我的应用程序中?
javascript - ECMAScript 2020 中的“identifier”和“identifierName”有什么区别?
https://262.ecma-international.org/11.0/#prod-IdentifierName 我不太了解 ECMAScript 2020 中“标识符”和“标识符名称”之间的区别。
javascript - 错误 Javascript 中的速记属性初始值设定项无效
为什么在我的 Chrome 浏览器上运行时出现错误 Invalid shorthand property initializer?
javascript - 检查打字稿中数组中是否存在元素组合的最佳方法
我有一个包含一些元素的数组,我想检查数组中是否存在某个元素组合,目标元素后面跟着检查集的任何元素,如果是,则返回 true,否则返回 false。例如,如果 inputArray 是 ['a', 'b', 'c', 'd'] 并且寻找组合是 ['a', 'd'] 那么它应该返回 true 因为 inputArray 两者都在正确的序列中. 如果 inputArray 是 ['d', 'b', 'c', 'd', 'a'] 并且组合是 ['a', 'd'],那么它应该是假的,因为 inputArray 包括这两个元素但在错误的顺序或
我可以使用 Set 和 while 循环,但我想知道是否有更优雅或更现代的方法?
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 包含:
javascript - 如何在 es6 中扁平化对象数组?
我有一个对象数组。我想提取嵌套对象并将其作为预期输出返回。我的方法已经行不通了,也不确定它是否能有效地迭代大量数据。
我需要扁平化/转换数据,如
但我得到
未捕获的类型错误:无法将未定义或 null 转换为对象
谢谢
ionic-framework - Ionic 框架是否与 tsconfig 目标 ES2020 兼容
我正在使用带有 npm 工作区的单声道存储库。回购有3个包
- 服务器 - 服务器代码
- commons - 服务器和 ionic-app 之间共享的公共代码
- 离子应用程序 - 离子应用程序
服务器和公共应用程序都配置了“ES2020”的目标,如下所示。
但是使用 commons 包的 ionic react 应用程序的目标是“es5”。为了配合commons tsconfig,如果我将ionic app 的target 改为“ES2020”,module 改为“commonjs”,在移动平台(尤其是旧手机)运行app 时会不会出现兼容性问题?