강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

카두룩치님의 프로필 이미지
카두룩치

작성한 질문수

자바스크립트로 알아보는 함수형 프로그래밍 (ES5)

파이프라인, _go, _pipe, 화살표 함수

코드 질문드립니다.

작성

·

221

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

MDU 유인동님의 프로필 이미지
MDU 유인동
지식공유자

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

카두룩치님의 프로필 이미지
카두룩치

작성한 질문수

질문하기