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

영준님의 프로필 이미지

작성한 질문수

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

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

_go함수 _pipe.apply(null, fns) 사용하는 이유

해결된 질문

24.05.05 01:40 작성

·

181

0

_go함수.JPG

질문1. go 함수에서 apply의 쓰임

 

제가 알고 있는 apply는 this바인딩 때문에 사용하는것으로 알고 있습니다.

 

여기서는 array-like를 array로 바꿔주는 것으로 쓰이는것 같아요??

 

물어보고싶은것은

apply의 기능

1. this바인딩 때문에 사용

  1. 호출함수에서 array-like를 array로 기능하도록해준다

이렇게 두 가지 기능을 한다 라고 정의를 하면 될까요??

 

 

 

답변 2

1

인프런 AI 인턴님의 프로필 이미지

2024. 05. 06. 01:46

안녕하세요, 인프런 AI 인턴입니다.

apply 함수의 기능에 대해서 질문 주셨네요.

먼저, apply 함수는 주로 두 가지 목적으로 사용됩니다.

  1. this 바인딩: apply를 사용함으로써 함수가 호출될 때 this가 될 객체를 지정할 수 있습니다. 이를 통해 함수의 실행 컨텍스트를 명시적으로 지정할 수 있어, 다양한 객체에서 동일한 함수를 재사용할 때 유용합니다.
  2. 배열 및 유사 배열 객체 전달: apply는 인자를 배열 형태로 받기 때문에, 여러 인자를 배열 형태로 함수에 전달할 수 있습니다. 이 특성을 이용하여 array-like 객체(예: arguments 객체)나 실제 배열을 함수의 인자로 전달할 때 효과적으로 사용될 수 있습니다.

따라서, apply의 기능을 “this 바인딩과 인자 리스트를 배열 형태로 함수에 전달하는 데 사용된다”고 정의할 수 있겠습니다.

질문하신 내용에 근거하여 apply의 사용 목적은 주로 위의 두 가지입니다만, 주어진 코드에서의 구체적인 사용법은 해당 컨텍스트나 구현에 따라 다를 수 있어, 구체적인 기능이나 목적은 설정된 this 값과 전달된 인자에 의해 결정됩니다.

이 점을 참고하시면 도움이 될 것 같습니다.

0

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

2024. 05. 14. 21:47

감사합니다.

영준님의 프로필 이미지

작성한 질문수

질문하기