JavaScript - 고차 함수 사용 시 주의점 및 코드 리뷰

익스랩 최고 관리자

·

2023. 7. 30. 20:25

반응형

안녕하세요

오늘은 JavaScript의 고차 함수를 사용하면서 주의해야하는 성능 문제에 대해 이야기하려고 합니다. 이번에 문의 받은 코드 리뷰 중 이문제를 잘 보여주는 코드가 있어서 들고왔습니다.

 

익스랩, 자바스크립트 코드 리뷰

 

문제의 발견

function expensiveOperation(element) {
    // This is a time-consuming operation
}

let arr = Array.from({length: 10000}, (_, index) => index);

arr.forEach(expensiveOperation);

위 코드는 배열의 각 요소에 대해 시간이 많이 소요되는 연산을 수행하는 'expensiveOperation' 함수를 호출합니다. 그런데 이 경우, 'forEach'는 해당 함수의 배열의 모든 요소에 대해 호출하므로, 중간에 조건에 따라 반복을 중단할 수 없습니다.

 

 

해결 방안

이 문제를 해결하기 위해서 우리는 고전적인 'for' 루프를 사용하여 중간에 반복을 중단할 수 있도록 할 수 있습니다. 아래와 같이 수정해보겠습니다.

function expensiveOperation(element) {
    // This is a time-consuming operation
}

let arr = Array.from({length: 10000}, (_, index) => index);

for(let i = 0; i < arr.length; i++) {
    // Adding a break condition
    if (i === 5000) break;

    expensiveOperation(arr[i]);
}

위와 같이 수정하면, 원하는 조건(i === 5000)에 도달했을 때, 반복을 중단할 수 있습니다.

 

 

마무리

이처럼 'forEach'와 같은 고차 할수의 편리함을 즐기면서도, 성능에 미치는 영향을 이해하는 것은 매우 중요한 것 같습니다. 다음 포스팅에서도 코드 리뷰를 통해 JavaScript 성능 개선 방안을 함께 알아보겠습니다.

 


코드 리뷰 문의 주세요.

함수 리뷰를 기본으로 합니다.

생각 못한 다양한 예외 상황이나

이상 코드 피드백 드립니다.


 

반응형

💖 포스터에게 힘 보내기 💖

카카오뱅크
3333-25-9477515
치킨 좋아하는 포스터