You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js v14.18.1调用replaceAll方法报不存在函数错误是什么原因?

问题根因
  • String.prototype.replaceAll 是ES2021(ES12)才正式加入ECMAScript标准的字符串方法,Node.js 从v15.0.0版本才开始原生支持该特性,你使用的v14.18.1属于v14版本分支,没有内置该方法,因此调用时会抛出类型错误。
  • MDN的代码运行框依托浏览器的JS引擎执行代码,目前主流现代浏览器很早都完成了对replaceAll方法的适配,所以相同代码可以正常运行。
解决方案
  • 低版本Node.js环境下可以用replace搭配带全局修饰符g的正则实现相同效果,写法为:"anything".replace(/a/g, "a"),注意不能省略g修饰符,否则只会替换第一个匹配到的字符。
  • 升级Node.js到v15.0.0及以上版本即可原生使用replaceAll,优先选择v16、v18、v20这类LTS长期支持版本,稳定性更有保障。

内容的提问来源于stack exchange,提问作者allez l'OM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 04:45:02