Under the hood, the V8 Javascript engine used in e.g. Google Chrome and Node.js already usually represents the result of a concatenation as a data structure with pointers to the base strings. Therefore, the string concatenation operation itself is basically free, but if you have a string resulting from very many small strings, there might be performance penalties if you perform operations on that string compared to a string represented as a contiguous byte array. As all this depends on the heuristics employed by V8, the only way to know how it performs is testing it in the precise scenario your interested in (and not the toy examples of the other answers).