forEach vs map

JEON HAN BIT·2023년 3월 13일
0

javaScript

목록 보기
1/6

MDN에 정의된 forEach 와 map

forEach() 메서드는 배열의 각 요소에 대해 주어진 함수를 실행하며, 반환 값이 없습니다. 즉, 반환되는 값이 없고, 배열의 각 요소를 단순히 반복적으로 실행합니다.

map() 메서드는 반면, 배열의 각 요소에 대해 주어진 함수를 실행하고, 그 결과를 모아 새로운 배열을 반환합니다. 따라서 map()새로운 배열을 반환하며, 각 요소를 변환하는 데 사용됩니다.

결국 차이점은 리턴값이 있느냐 없느냐이다.

forEach는 단순하게 배열의 각 요소에 주어진 함수를 그저 실행할뿐이고
map은 배열의 각 요소에 주어진 함수를 실행하고 그 결과를 새로운 배열에 저장하여 반환한다.


예시

const prices = ['1000','2000','3000','4000']
arr.forEach(price=>price+'원')

이 케이스에서 가격 뒤에 각각 ‘원’을 붙인 결과의 배열을 원한다면 forEach대신 map을 사용하는게 맞다.

const prices = ['1000','2000','3000','4000']
arr.map(price=>console.log(price))

이 케이스는 단순하게 콘솔에 로그를 띄우는 작업이기 때문에 배열을 반환받을 필요는 없다.
즉 forEach 메소드 사용이 적합하다고 볼 수 있다.


결론

둘중 하나만 맹목적으로 사용하는것이 아니라 상황에 따라서 , 명세에 맞게 알맞게 사용하자.

참고자료

클린코드 자바스크립트 (유데미 강의)

0개의 댓글