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.
This post was published by Daniyal Hamid. Daniyal currently works as the Head of Engineering in Germany and has 20+ years of experience in software engineering, design and marketing. Please show your love and support by sharing this post.