Maneira mais eficiente de concatenar strings em JavaScript?

Em JavaScript, tenho um loop que possui muitas iterações e, em cada iteração, estou criando uma cadeia enorme com muitos operadores += . Existe uma maneira mais eficiente de criar uma string? Eu estava pensando em criar um array dynamic onde eu continuo adicionando strings a ele e então faço uma junit. Alguém pode explicar e dar um exemplo da maneira mais rápida de fazer isso?

Parece baseado em benchmarks no JSPerf que usar += é o método mais rápido, embora não necessariamente em todos os navegadores.

Para construir strings no DOM, parece ser melhor concatenar a string primeiro e depois adicionar ao DOM, em vez de adicioná-la iterativamente ao dom. Você deve avaliar seu próprio caso embora.

(Obrigado @ zAlbee para correção)

Não tenho nenhum comentário sobre a concatenação em si, mas gostaria de salientar a sugestão do @Jakub Hampl:

Para criar strings no DOM, em alguns casos, pode ser melhor include iterativamente no DOM, em vez de adicionar uma string enorme de uma só vez.

está errado, porque é baseado em um teste falho. Esse teste nunca é anexado ao DOM.

Esse teste fixo mostra que criar a string de uma só vez antes de renderizá-la é MUITO mais rápido. Não é nem mesmo um concurso.

(Desculpe esta é uma resposta separada, mas eu não tenho representante suficiente para comentar as respostas ainda.)

Três anos passados ​​desde que esta questão foi respondida, mas vou dar a minha resposta mesmo assim 🙂

Na verdade, a resposta aceita não está totalmente correta. O teste de Jakub usa uma string codificada que permite ao mecanismo JS otimizar a execução de código (o V8 do Google é realmente bom nesse tipo de coisa!). Mas assim que você usar strings completamente aleatórias ( aqui é JSPerf ), a concatenação de strings ficará em segundo lugar.