TIL 콜백함수_제어권 23.5.26

행복한 딸기🍓·2023년 5월 26일
0

TIL

목록 보기
3/7

콜백함수란
다른 코드의 인자로 넘겨주는 함수이다
인자로 넘겨준다는 것은 콜백함수를 넘겨받는 코드가 있다는 뜻이다


제어권
호출 시점에 대한 제어권을 갖는다.

setInterval() : 반복해서 메개변수로 받은 콜백함수의 로직을 수행

var count = 0;

var timer = setInterval(function () {
  console.log(count);
  if (++count > 4) clearInterval(timer);
}, 300);

/* 결과 : 0.3초 간격으로
0
1
2
3
4
*/

<보기 편하기>

var count = 0;
var cbFunc = function () {
  console.log(count);
  if (++count > 4) clearInterval(timer);
};
var timer = setInterval(cbFunc, 300);

map 함수

ar newArr = [10, 20, 30].map(function (currentValue, index) {
  console.log(currentValue, index);
});

console.log(newArr);

/* 결과 :
10 0
20 1
30 2
[ undefined, undefined, undefined ] 
*/

undefined 가 나온 이유는 return 을 하지 않았기 때문이다.
값이 없는 것을 할당하였기 때문이다.

var newArr = [10, 20, 30].map(function (currentValue, index) {
  console.log(currentValue, index);
  return currentValue + 5;
});

console.log(newArr);

/* 결과 :
10 0
20 1
30 2
[ 15, 25, 35 ]
*/

currentValue와 index의 자리를 바꾼다면??

var newArr = [10, 20, 30].map(function (index, currentValue) {
  console.log(index, currentValue);
  return currentValue + 5;
});

console.log(newArr);

/* 결과 : 
10 0
20 1
30 2
[ 5, 6, 7 ]
*/

currentValue에 5씩 더해지는 게 아니고 index에 더해졌다.
컴퓨터는 currentValue, index 이 순서로 인식한다.

profile
🍀먹고 자라는 새싹🌱

0개의 댓글