gpt4 book ai didi

javascript - 现在缺少 g 标志时 matchAll 抛出错误?

转载 作者:行者123 更新时间:2023-12-01 15:22:39 28 4
gpt4 key购买 nike

从 MDN 文档中它指出

matchAll only returns the first match if the g flag is missing.



但是如果你运行这段代码:

const regexp = RegExp('[a-c]', '');
const str = 'abc';
console.log(Array.from(str.matchAll(regexp), m => m[0]));
// Array [ "a" ]


在最新版本的 chrome 中,您会收到以下错误:

Error: undefineds called with a non-global RegExp argument



我在 chrome 版本 80.0.3987.116

我不确定这是 chrome 问题还是需要更新 MDN 文档。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/matchAll

最佳答案

在这种情况下,在 MDN 上提供给您的信息是错误的。

截至 2020 年 2 月 15 日的官方 ECMA 规范 ECMA-262 (See here) 指出,如果没有 g存在标志,matchAll应该抛出 类型错误 .

具体见 2.b.iii 以下。

matchAll MDN

错误消息显然与其措辞相当困惑,但仍然正确。

关于javascript - 现在缺少 g 标志时 matchAll 抛出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60289995/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com