-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
코드 질문드립니다.
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(안에 함수 세개) 이렇게 되는 까닭을 잘 모르겠네요..
답변을 작성해보세요.
0
답변 1