代码之家  ›  专栏  ›  技术社区  ›  Tom

为什么NodeJS不支持String.prototype.replaceAll?

  •  0
  • Tom  · 技术社区  · 3 年前

    此字符串方法存在于浏览器中,但不存在于Node中。为什么不呢?它既不是全新的,也不是异国情调的。

    • replaceAll是ECMA-262的一部分 src
    • replaceAll在V8博客中有详细描述(在V8.1中添加) src
    • NodeJS v14.0升级到V8 V8.1 src

    然而:

    $ node
    Welcome to Node.js v14.13.1.
    Type ".help" for more information.
    > 'asdf'.replaceAll
    undefined
    

    我不是在要求polyfills;我可以在单个实例上执行正则表达式或循环 replace 。我试图弄清楚为什么这个看似不起眼的功能在NodeJS中不存在,尽管它似乎在几乎所有其他JS环境中都可用,尽管所有文档都建议它应该存在。

    0 回复  |  直到 3 年前
        1
  •  23
  •   jfriend00    3 年前

    Nodejs v14有V8 8.4,但是,replaceAll被添加到V8 8.5中。Nodejs v15有V8 8.6,因此这是您可以使用的第一个Nodejs版本 .replaceAll() 。您可以在nodejs v15中看到所有描述 release notes 或者在这个特定的 change report .