问题标签 [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.
javascript - 测试新正则表达式功能的浏览器兼容性
确定浏览器是否支持ECMAScript 2018 语言规范中指定的新正则表达式功能的最佳实践是什么?
我怀疑你只需要编写 try catch 语句或通过检测浏览器版本来完成,但我想我先在这里检查一下。
javascript - 复杂对象的扩展语法
假设我有一个像这样的对象
我想利用Spread 语法来返回这个对象的克隆,其中store.errors.p1
是一个新对象。以下是最简单的方法吗?
javascript - 使用 javascript 的 Symbol.asyncIterator 和 for await 循环
我试图了解 javascript 的Symbol.asyncIterator和等待的. 我写了一些简单的代码,它抛出一个错误说:
在尝试使用的行上for await (let x of a)
。
我无法理解它的原因。
我创建一个空对象a
并在同一个对象上插入一个键Symbol.asyncIterator
并为其分配一个名为的函数test
,该函数返回一个Promise
. 然后我使用for await of
循环遍历函数将返回的所有值。
我做错了什么?
PS:我在Node版本10.13.0
和最新版本Chrome
javascript - 使用 getter 对对象应用扩展运算符
如果你声明一个带有 getter 的类
您可以在实例化新对象后访问 getter
但这在使用扩展运算符复制对象后不起作用
我认为这有点令人困惑的语法。
javascript - 带有库和目标集的“ObjectConstructor”类型上不存在属性“条目”
我正在尝试以这种方式使用使用 JSON 解析的 Map:
并且编译器抛出错误
但该方法有效,我能够检索我的地图。我已经寻找其他问题并更改了 tsconfig 文件中的目标和库。里面tsconfig.app.json
我有:
并在tsconfig.spec.json
:
我认为设置目标和库就足够了,但它一直不起作用。为了消除编译器错误,还有什么需要改变的?
javascript - 如何在解构赋值语法中使用特殊字符(如连字符)?
我很好奇为什么这似乎是不可能的:
是否有可能在未来的 ES 版本中找到该语法?
谢谢你的灯:)
javascript - 将别名变量分配给新对象
我们如何将别名键分配给新对象,例如
正在返回{c: 1}
而不是{f: 1}
.
怎样才能做到这一点?
我不想这样做
变量 obj1 = { c: 1 }; var { f: c } = obj1 ; 常量 obj2 = {f}; 控制台.log(obj2);
ecmascript-6 - 是什么让 ES6 如此特别?
所以我最近才开始一头扎进网络开发。我很快收集到的一件事是 ES5 = 旧的,而 ES6 = 闪亮的和新的。我认为 ES6 是 ES 必须提供的最新最好的。但我刚刚发现 ES6 落后了 3 个标准,而且我一直在使用和喜爱的一些特性甚至不是它的一部分——它们是在后来的规范中出现的。那么为什么我读到的所有东西都让人觉得只有 ES5 和 ES6?
javascript - 无效的 Unicode 转义 \。使用命名捕获组时
为了在 JavaScript 上使用命名捕获组,我做了以下修改:
但它不再编译(使用 webpack):
如果我\.
从正则表达式的末尾删除它,它就会编译,但这是必需的,正常的,根本没有修改。
我不明白与命名捕获组替换的关系。
所以我的问题很简单:这个正则表达式有什么问题?