问题标签 [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 投票
2 回答
128 浏览

javascript - 有人可以解释一下 ECMAScript 规范中提到运算符优先级和运算符关联性的地方吗

我正在阅读有关运算符优先级和运算符关联性的 mdn 文档“运算符优先级和运算符关联性(MDN) ”,并想通过阅读ECMAScript 规范了解更多有关它的信息。

但是我在那里没有找到任何关于运算符优先级和运算符关联性的信息。

有人可以通过指向 ECMAScript 规范的链接来指导我,其中描述了每个运算符的优先级和关联性

非常感谢任何帮助。我需要知道 ECMAScript 规范是否没有提到任何关于

每个运算符的优先级和关联性 语言实现者如何知道在另一个运算符之前先解决哪个运算符 我的意思是他们如何知道应该在另一个运算符之前评估哪个运算符

0 投票
1 回答
769 浏览

javascript - 如何在 react-native 应用中启用 ES2020?

我试图在我的 react-native 应用程序中添加 ES2020 功能,我安装"babel-preset-es2020": "^1.0.2"并添加了.babelrc如下文件:

但似乎没有任何效果,这个错误来了:

请告诉我一种在那里启用 ES2020 的方法

0 投票
2 回答
1752 浏览

reactjs - 如何将 es2020 功能添加到现有的 React 应用程序?

我想在我的 react 应用中使用 es2020 的新功能。尝试安装npm install --save-dev babel-preset-es2020并添加.babelrc文件

但是它仍然不起作用。es2020新特性如何用react app设置?

0 投票
2 回答
487 浏览

javascript - 导出时获取导出声明可能仅出现在 JavaScript 模块的顶层

无论我把导出语句放在哪里,我都会得到同样的错误

导出声明只能出现在模块的顶层

我尝试将 type="module" 添加到脚本标签,但没有帮助,我试图避免它。

JS

0 投票
1 回答
570 浏览

vuejs2 - 如果浏览器不支持所需的语言环境,如何将缺少的语言环境添加到 Intl.DateTimeFormat (ES2020)?

不幸的是,某些浏览器不支持使用 Intl.DateTimeFormat 的某些语言环境。在我的情况下,Chrome 中的“kk”语言环境(https://source.chromium.org/chromium/chromium/src/+/master:third_party/icu/scripts/chrome_ui_languages.list)。您可以在控制台中测试您的语言环境:

如果它返回空数组 [] 则表示它不支持。

我的问题是如何添加缺少的语言环境?我的意思是可能有一个 Polyfill 吗?我正在使用 Vuejs 2

0 投票
0 回答
54 浏览

javascript - javascript中的双问号与&&

这就是使用的目的??

但我通常使用&&,那有什么区别?

0 投票
1 回答
2128 浏览

javascript - 空值合并运算符 (??) 与 ECMAScript 中的逻辑 OR 运算符 (||) 有何不同?

ES2020 引入了nullish 合并运算符 ( ??),如果左操作数为 null 或未定义,则返回右操作数。此功能类似于逻辑 OR 运算符 ( ||)。例如,以下表达式返回相同的结果。

结果:

那么nullish 运算符有何不同,它的用例是什么?

0 投票
1 回答
132 浏览

javascript - 验证对象解构

假设我们有两个函数

是否可以以某种方式突出显示这种错误?我试图在 eslint 上找到一些东西,但没有运气。

谢谢

0 投票
0 回答
254 浏览

javascript - ES2020 nullish 合并运算符 (??) 可以用来检查未声明的变量吗?

来自MDN

空值合并运算符 ( ??) 是一个逻辑运算符,当其左侧操作数为nullor时返回其右侧操作数undefined,否则返回其左侧操作数。

但是,如果未声明变量,则以下语句似乎不起作用:

如果我明确声明变量,它会起作用:

唯一的选择似乎是:

是否有更简洁的方法来检查是否有未声明的内容并返回后备值?

我知道有一个论点反对为什么代码会检查一个不会被声明的变量。例如,下面的函数接受一个参数而不给它一个默认值,??看起来很有用:

这种情况是该运算符的预期用途吗?如果是,那么也可以通过在签名中为参数分配一个默认值来提供服务,那么 nullish 合并运算符在有用性方面有何不同呢?

注意:以上语句在 Node.js 14 和 Chrome 88 中运行。

0 投票
0 回答
22 浏览

javascript - 使用括号回退动态对象

鉴于上面的代码,我可以得到错误,Cannot read property 'x' of null因为某些东西是未定义的,我如何回退检查到 void 错误?我应该做这样的事情吗