clouser 란??
함수와 함수가 선언된 환경의 조합.
독립적인 자유 변수를 가리키는 함수.
자신(함수, 내부 함수)을 포함하고 있는 외부 함수보다 더 오래 유지되는 경우, 외부 함수 밖에서 내부 함수가 호출되더라도 외부 함수의 지역 변수에 접근할 수 있는 함수를 말한다.
즉, 반환된 내부 함수가 자신이 선언됐을 때의 환경인 스코프를 기억하여 자신이 선언됐을 때의 환경(스코프) 밖에서 호출되어도 그 환경(스코프)에 접근할 수 있는 함수를 말한다.
clouser는 자신이 생성될 때의 환경(스코프)을 기억해야하므로 메모리를 점유할 수 있다.
하지만 clouser는 자바스크립트의 강력한 기능으로 적극적으로 사용해야 한다.
또한 클로저 사용이 긑나면 참조를 제거하는 것이 좋다.
강력한 기능으로는
- 현재 상태를 기억하고 변경된 최신 상태를 유지.
- 전역 변수의 사용 억제.
- 정보의 은닉.
위 3가지가 있다.