본문으로 바로가기

콜백함수

 

함수를 인자로 받아 호출할 수 있는 형태의 함수입니다.

const init = (callback: () => void) => {
  console.log("callback start");
  callback();
  console.log("callback end");
};

init(() => console.log("yes!"));

 

 

중첩 함수

 

함수 안에 함수를 넣을 수 있다는 간단한 아이디어 입니다.

const calc = (value: number, cb: (arg: number) => void) => {

  // 화살표 함수든 함수 선언식이든 함수입니다.
  let add = (a: number, b: number) => a + b;
  function mul(a: number, b: number) {
    return a * b;
  }

  let result = mul(add(3, 4), value);
  cb(result);
};

calc(2, (output) => console.log(output));

 

고차 함수

 

고차 함수(high order function)란 함수를 반환하는 함수를 말합니다. 고차 컴포넌트(HOC)라고 해서 컴포넌트를 감싼 컴포넌트를 react에서 사용한 적이 있는데 이와 같은 논리입니다.

 

리턴하는 값을 함수로 지정하면 됩니다. 사용하는 방법은 아래와 같이 func(3)(4) 이렇게 이중으로 실행하면 됩니다.

const add = (a: number) => {
  return (b: number) => {
    return a + b;
  };
};

// 곧바로 실행
console.log(add(3)(8));

// 한 번 걸쳤다가 실행
const first = add(3);
console.log(first(8));

 

 

 


darren, dev blog
블로그 이미지 DarrenKwonDev 님의 블로그
VISITOR 오늘 / 전체