클로저 (Closure)

Minhyuk Song·2024년 3월 19일
0

Javascript

목록 보기
3/5
post-thumbnail

클로저

클로저에 대해 설명해주세요.

클로저란 함수가 속한 렉시컬 스코프를 기억하여 렉시컬 스코프 밖에서 실행할 때도 그 스코프에 접근할 수 있게 하는 기능입니다.
다시 말해, 외부 함수 호출이 종료되더라도 외부 함수의 지역 변수 및 변수 스코프 객체의 체인 관계를 유지할 수 있는 구조를 클로저라고 합니다.

클로저를 통하여 함수가 리턴되어도 특정값을 가진 변수를 보호하면서 그 변수를 계속 사용할 수 있게 하는 장점이 있습니다.

클로저 생성 조건

클로저가 생성되는 조건은 아래와 같습니다.

  1. 내부 함수가 외부 함수의 반환값으로 사용됩니다.
  2. 내부 함수는 외부 함수를 호출되어야 호출됩니다.
  3. 내부 함수에서 사용되는 변수는 외부 함수의 변수 스코프에 있습니다.

클로저 예시

function outerFunction() {
  let outerVariable = "I am from outer function";

  function innerFunction() {
    console.log(outerVariable);
  }

  return innerFunction;
}

let closureExample = outerFunction(); // outerFunction 실행 후에 innerFunction을 반환
closureExample(); // outerVariable을 출력
profile
스크린을 넘어 유쾌한 경험을 드리는 프론트엔드 개발자가 되도록 노력하고 있습니다.

0개의 댓글