• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

코드 질문드립니다.

18.08.31 03:32 작성 조회수 120

0

function _pipe(){ var fns = arguments; return function(arg){ return _reduce(fns, function(arg, fn){ return fn(arg) }, arg) } } var f1 = _pipe( function(a) { return a + 1; }, function(a) { return a * 2; }, function(a) { return a * a; } );

  여기서 _pipe(함수 세개)를 매개변수로 넘겨주는데,

저 정작 function _pipe는 ()로 매개변수를 받지 않는 것 처럼 나오잖아요?

그런데, 막상 함수 정의보면 그럼, 함수 안에서 매개변수를 받는건가 하고 봤더니

arg는 나중에 f1(1)을 했을 경우 1이 arg가 되는거고..

그럼 fns = arguments를 통해서 pipe() 이렇게 매개변수가 없는 함수를 만들어도

fns에게 매개변수를 전달해주는 거라고 보면 되는건가요?

pipe() 이렇게 되어있는데 변수 f1를 선언할때는 _pipe(안에 함수 세개) 이렇게 되는 까닭을 잘 모르겠네요..

답변 1

답변을 작성해보세요.

0

arguments 객체에 대해 공부하시면 쉽게 아시게 될 것 같습니다. 그리고 추정해보신 내용도 맞습니다. ^^