함수는 일급 객체 (first-class object)
- 일급 객체란, 다른 변수처럼 대상을 다룰 수 있는 것을 말한다.
- 자바스크립트에서 함수는 일급 객체이다.
- 즉, 자바스크립트에서 함수는 변수처럼 다룰 수 있다.
클로저
- 자바스크립트 클로저는, 함수의 일급 객체 성질을 이용한다.
- 함수가 생성될 때, 함수 내부에서 사용되는 변수들이 외부에서 존재하는 겨웅 그 변수들은 함수의 스코프에 저장된다.
- 함수와 함수가 사용하는 변수들을 저장한 공간을 클로저(closure)라 한다.