[TIL] 클로저(Closure)란?

ShallWeDance·2021년 7월 28일
0

TIL

목록 보기
4/17
post-thumbnail

클로저란?

클로저(closure)는 내부함수가 외부함수의 context에 접근할 수 있는 것을 가르킨다.

내부함수

자바스크립트는 함수 안에서 또 다른 함수를 선언할 수 있고, 이 또다른 함수를 내부함수라고 한다.

클로저는 내부함수와 밀접한 관계를 가지고 있다. 내부함수에서 외부함수의 지역변수에 접근할 수 있다. 외부함수의 실행이 끝나서 외부함수가 소멸된 이후에도 내부함수가 외부함수의 변수에 접근 할 수 있다.

특징

  1. 클로저는 객체의 메소드에서도 사용할 수 있다.
  2. 동일한 외부함수 안에서 만들어진 내부함수나 메소드는 외부함수의 지역변수를 공유한다.
  3. 외부함수가 실행될 때마다 새로운 지역변수를 포함하는 클로저가 생성되기 때문에 같은 외부함수를 공유하고 있는 내부함수들은 서로 완전히 독립된 객체가 된다.

Reference

생활코딩-클로저

0개의 댓글