require와 import는 파일 또는 모듈을 불러오는 데 사용하는 키워드다. 하지만 require는 node.js에 내장된 Common JS 모듈에 일부이고, import는 ES6에 추가된 모듈 시스템의 일부다.
둘 다 시간복잡도는 O(n)으로 효율면에서는 같다. 하지만 reduce가 작성하기 더 간결해서 코드 가독성이 좋다.
비교를 해보자.
for를 이용했을 때
const nums = [1, 2, 3, 4, 5, 6, 7, 8];
for (let i = 0; i < nums.length; i++) {
let sum = 0;
sum += nums[i];
return sum;
}
reduce를 이용했을 때
const nums = [1, 2, 3, 4, 5, 6, 7, 8];
const sum = nums.reduce((sum, num) => sum + num, 0)
일단 눈으로 보기에도 reduce를 이용한 쪽이 더 짧다. 그리고 reduce 메서드는 기본적으로 반복 로직을 가지고 있으니까 굳이 for문을 쓸 필요는 없겠다.