add = (a, b) => (b === 0) ? a : sec(add(a, b - 1));
                  
                  
                   const mpy = (a, b) =>  (b === 1) ? a : add( a ,  mpy(a, b - 1) );
                  
                  
                  const pwr = (a, b) => (b === 1) ? a : mpy(a, pwr(a, b - 1)); 
                  
                  
                  console.log(pwr(3, 2)); // 9
                  
                  
                
в общем смотри, аргументами функции mpy у тебя будет а и результат выполнения функции pwr при b === 1, что тоже в результате даёт а
https://learn.javascript.ru/recursion
Обсуждают сегодня