JavaScript/4주차
3. 콜백 함수 - 제어권 2
tnals634
2023. 5. 25. 10:57
인자에 대한 제어권을 받는다
1. Map 함수
//Map 함수
var newArr = [10, 20, 30].map(function(currentVal, index) {
console.log(currentVal,index);
});
//결과는 뭐가 될까?
console.log(newArr); //undefined
//map은 return값을 무조건 필요, 없으면 undefined할당
//Map 함수
var newArr = [10, 20, 30].map(function(currentVal, index) {
console.log(currentVal,index);
return currentVal + 5;
});
console.log(newArr); //[15, 25, 35]
그럼 만약 cuurentvalue와 index가 바뀌면 결과는 어떻게 될지 생각해본다.
//사람은 앞에 index이고 뒤가 currentvalue여도,
//컴퓨터는 정해져있기 때문에 첫번째는 currentvalue자리,
//두번째는 index로 이해한다.
var newArr = [10, 20, 30].map(function(index, currentVal) {
console.log(index, currentVal);
return currentVal + 5;
});
console.log(newArr); //[5, 6, 7] index에 더해진거 같다.
명세서에 있는데로 사용해야한다.
map 함수가 콜백함수를 받기 때문에 인자에 대한 제어권은 우리가 아닌 map이 가지고 있다.
그래서 그 함수가 사용하라는데로 사용해야한다.