
오늘은 자바스크립트 클로저(Closure)에 대한 개념을 다루어 보려고 해요!
이론적으로 독립적인 변수를 가리키는 함수
내부 함수가 외부 함수의 환경을 기억하는 것을 의미
아래 코드를 통해 클로저에 대해 알아보겠습니다.
function outter(){
// 외부 함수에 정의된 지역변수
let str = "Closure!";
function inner(){
return str;
}
return inner();
}
let result = outter();
console.log(result); // 출력 : Closure!
위 코드를 보면 inner()함수는 outter()에 정의된 변수 str에 접근이 가능합니다.
이렇기 때문에 outter()가 return문을 만나서 종료됐음에도 불구하고 inner()함수가 변수 str에 접근할 수 있습니다.
이것을 클로저 라고 하는데요!
이렇게 클로저를 사용하면 아래와 같은 장점이 있습니다.
- 변수를 은닉하여 지속성을 보장할 수 있다.
- 데이터 캡슐화 -> 다양한 기능 구현이 가능하다.
클로저(Closure)는 중요한 개념이니 한번 더 다루어 보도록 할게요!