Why Does This Happen?
If you're seeing the error "TypeError: replaceAll is not a function
", it is likely due to the method not implemented/supported by the browser version (or the Node.js version) that you're using.
Note that the String.prototype.replaceAll()
method was added in ES2021/ES12.
How to Fix the Issue?
As a substitute for String.prototype.replaceAll()
, you may use the String.prototype.replace()
method with a regular expression that has the global ("g
") flag set. It works in the same way and has great browser support.
The following example shows replaceAll()
and it's equivalent using replace()
:
const str = 'foo-bar'; // in older browsers const result1 = str.replace(/foo/g, 'moo'); // ES12+ const result2 = str.replaceAll('foo', 'moo'); // output: 'moo-bar' console.log(result1); console.log(result2);
For more examples, check out our post about how to replace all occurrences of a word in a JavaScript string.
Hope you found this post useful. It was published . Please show your love and support by sharing this post.