I wrote this sum function to get used to writing recursive function.
I thought it would work when I finish writing but the final summed value becomes undefined.
There is no async part in this function but the returned value of this function becomes undefined, which I don't understand why...
What am I doing wrong?
Could anyone please tell me how to fix this problem?
Thanks!!
My code
function sum() {
    var numbers = [...arguments];
    if (numbers.length === 0) {
        return 0;
    }
    if (numbers.length === 1) {
        // it shows 15 here!!
        console.log(numbers[0]) 
        // But it returns undefined... Why!?
        return numbers[0]; 
    }
    var summedValue = numbers[0] + numbers[1];
    var restNumbers = numbers.slice(2);
    sum(summedValue, ...restNumbers)
}
console.log(sum(1, 2, 3, 4, 5)) //undefined
 
    