두개의 메서드는 같은점은 배열에서 반복적으로 원소 하나하나를 할 수 있는 공통점이 있지만

두개의 차이점은 존재한다. forEach 는 단순히 반복작업을 할때 , Map 반복작업을 하여 새로운 배열을 리턴할 때 사용된다

forEach


배열의 요소를 하나씩 살펴보면서 반복 작업을 하는 메서드, 콜백 함수의 파라미터에는 각각 배열의 요소, index, 메소드를 호출한 배열이 전달된다.

const numbers = [1, 2, 3]

numbers.forEach((element, index, array) => {
	console.log(element); // 1, 2, 3이 한 줄씩 출력됨
})

Map


forEach 메서드와 비슷하게 배열의 요소를 하나씩 살펴보면서 반복 작업을 하는 메서드이다. 단 차이점이 존재하는데 새로운 배열을 만들어 리턴하는 특징이 있다.

const numbers = [1, 2, 3];
const twiceNumbers = numbers.map((element, index, array) => {
  return element * 2;
});

console.log(twiceNumbers); // (3) [2, 4, 6]