클로저란?
내부함수가 외부함수의 맥락(context)에 접근할 수 있는 것을 가르킨다. (생활코딩)
클로저는 함수가 선언된 환경의 (렉시컬) 스코프를 기억하여 함수가 스코프 밖에서 실행될 때에도 이 스코프에 접근할 수 있게 하는 기술
쉽게말해서 외부함수가 소멸된 이후에도 외부함수의 상태를 유지해 변수에 접근하거나 사용 할 수 있다.
-
스코프(Scope)
-
종류 : 전역 스코프(Global Scope), 지역 스코프(local scope)
-
쉽게말해서 전역변수와 지역변수
-
-
클로저(Closures)
-
함수 내부에 함수를 작성할 때마다, 클로저를 생성한 것
-
목적 : 사이드 이펙트(side effects) 제어, private 변수 생성
-
특징
-
inner 함수는 outer 함수의 지역 변수 참고 가능
-
outer 함수가 실행되어 소멸되어도 inner 함수는 outer 함수의 지역변수 참고 가능
-
private 변수 선언 가능
-
-

크롬 디버깅을 통해 스코프를 확인 할 수 있다.
'JavaScript > 기초' 카테고리의 다른 글
[JavaScript] 실행컨텍스트 (0) | 2019.12.30 |
---|---|
[JavaScript] JavaScript의 구조 (0) | 2019.11.26 |