자바스크립트에서 화살표가 2번 연속으로 나오는 경우는 어떻게 해석해야하나요?

조회수 3248회
const completeSale = completeSaleId => async dispatch => {
  saleRef.child(completeSaleId).remove();

이건데, 화살표가 2번이나 나옵니다. 화살표함수는 아닐텐데 대체 어떻게 해석해야할까요...

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 화살표 함수 맞습니다.
    다만 2번 중첩되어 있을 뿐입니다.
    completeSale은 함수를 반환하는 함수가 담기게 되겠죠.

    좀 더 쉬운 예시로 바꿔볼게요.

    let sum = a => async b => { return a + b; };
    

    똑같이 생겼죠?
    이걸 일반 function으로 바꿔보면 바로 이해가 되실겁니다.

    let sum = function(a) {
        return async function(b) {
            return a + b;
        };
    };
    

    sum은 아래와 같이 쓸 수 있게 됩니다.

    let sum4 = sum(4);
    sum4(6).then(v => console.log(v)); // 10을 출력
    sum(1)(2).then(v => console.log(v)); // 3을 출력
    

    sum 호출의 결과물도 함수라는 것을 주목하시면 됩니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)