let arr = [1, 2, 3, 4]
arr = reduce((a, b)=> a+b, 0);
a = 0, b = 1 -> 0+1 = 1.
a는 누적값이기 때문에 a가 1이 됨
두번째로 a=1, b=2 -> 1+2 = 3. a가 3이됨
세번째로 a=3, b=3 -> 3+3 = 6. a는 6이됨
네번째로 a=6, b=4 -> 6+4 = 10. 결과값은 10이 됨
reduce 메서드의 콜백 함수는 return 하는 값이 다음 콜백 함수의 첫 번째 파라미터로 전달됨.
마지막 콜백 함수가 동작한 이후의 return 값이 reduce 메서드의 return 값이 됨.
콜백함수의 3, 4번째 파라미터 생략 가능!
초기값이 생략되면 첫번째 배열의 요소를 초기값으로 잡음!