Se você deseja uma alternativa Array.concatno ECMAScript 2015 (também conhecido como ES6, ES2015) que, como ele, não modifica a matriz, mas retorna uma nova matriz, pode usar o operador de propagação da seguinte forma:
var arr = [1];
var newItems = [2, 3];
var newerItems = [4, 5];
var newArr = [...arr, ...newItems, ...newerItems];
console.log(newArr);
Observe que isso é diferente do pushmétodo, pois o pushmétodo muda / modifica a matriz.
Se você quiser ver se certos recursos do ES2015 funcionam no seu navegador, verifique a tabela de compatibilidade do Kangax .
Você também pode usar Babel ou um transpilador semelhante se não desejar esperar pelo suporte do navegador e desejar usar o ES2015 na produção.