да пофиг даже на стек
вот мне не нравится что в рекурсивном решении 2^(n-1) конкатов возникает. и они дороговаты, если скоростью заморочиться.
например:
let recurrentCommasIns = (s='', head = '') => {
if(s.length<2) return [head+s];
return recurrentCommasIns(s.slice(1), head+s[0])
.concat( recurrentCommasIns(s.slice(1), head+s[0]+','));
}
в итеративном варианте 2^(n-1) пушей, тож не бесплатных, но вроде подешевле.