String in Javascript is immutable. Means that once they were created, they cannot be modified.
This also means that simple operations like appending a character to a string are more expensive than they might appear.
The canonical example of an operation that's decptively expensive due to string immutability is the following:
const string = "this is string"
let newString = ""
for char in string
newString += char
The operation above has a time complexity of O(n2) where n is the length of string, because each addition of a character to `newString` creates an entirely new string and is itself an O(n) operation.
Therefore, n * O(n) operations are performed, leading to an O(n2) time-complexity operation overall.
So when doing appending string in Javascript, one performance improvement suggestion would be split string into Array.
Appending one item into array is O(1) time-complexity, after appending, can join the array together into a new string
const string = "this is string"
const ary = string.split("")
ary.push('!');
const newString = ary.join('')