[ 05.28 ] 클로저 함수

이숙영·2021년 5월 28일
0

Java Script

목록 보기
7/20
post-thumbnail

[Achievement Goal]

클로저 함수 정의와 쓰임새에 대한 이해
클로저가 갖는 스코프 의미 알기.
클로저가 쓰이는 유용한 코딩패턴 알기.

(1) 클로저 함수란?

함수를 리턴하는 함수 이다. 즉, 함수식 안에 또다른 함수식이 있는 형태로 다음과 같이 생겼다.
const closer (a) => (b) => {a + b} //화살표 함수식

const closer = function(a){
   return function(b){
     return a + b
   }
}

클로저에서의 스코프 접근 범위는 리턴하는 곳이 기준이 된다.
일반적인 함수에서 지역변수는 함수실행이 끝나면 사용이 불가하지만,
클로저함수는 외부함수의 식이 종료되어도 외부함수 내 지역변수가 저장이 된다.

const closer = function(a){
   return function(b){
     return a + b
   }
}
closer(3)(4)
or
sum(4) 

이미 변수 sum에 closer의 a값인 (3)이 할당되어 있기 때문에 두번째 함수식의 매개변수 b의 자리에 4를 넣는다면 3+4, 값은 똑같이 7 을 리턴하게 된다.

또한 클로저 함수는 객체를 이용하여 내부함수를 여러개 만들 수 있다.
이럴 경우 내부함수는 여러개지만, 객체라는 주머니 하나만 리턴하게 되어 결과값도 객체로 나오게 된다.

  • 여기서 함수의 매개변수 또한 지역 변수의 한 종류이다.
profile
FrontEndDeveloper

0개의 댓글

관련 채용 정보