CS

[Basic] JavaScript 클로져

크라00 2024. 9. 21. 22:32

- 클로져

: 함수와 그 함수가 선언되었을 때 렉시컬 환경과의 조합

 

: 자신을 포함하고 있는 외부함수보다 내부함수가 더 오래 유지되는 경우, 외부 함수 밖에서 내부함수가 호출되더라도 외부함수의 지역 변수에 접근할 수 있는데 이러한 함수를 클로저(Closure) 라고한다.

 

: 함수가 자신이 태어난 곳의 주변환경을 기억하고 나중에 그 환경에 접근할 수 있는 특별한 특성

 

: 함수는 자신이 선언된 환경을 기억하고 그 환경의 변수들에 계속 접근할 수 있다.

 

> 장점

1. 데이터 은닉 / 캡슐화

 : 클로저를 통해 변수를 비공개로 유지하면서 안전하게 데이터 관리 가능

2. 상태관리 및 유지

 : 함수가 호출될 때마다 새로운 환경을 만들지 않고 이전 상태를 기억할 수 있다. ( useState )

3. 유연한 함수 생성

 :  커링과 같은 기법을 활용하여 재사용성이 높은 함수 개발 가능