#10 TIL 클로저에 대하여 🔍

장석진·2021년 4월 2일
0

👻 클로저란?

외부 함수의 변수에 접근할 수 있는 내부 함수 또는 이러한 작동원리를 일컫는다. 함수와 함수가 선언된 어휘적 환경에 조합.

클로저에 예를 통해서 클로저에 대해 자세히 알아가보자.

function outerFn(){
  let outerVar = 'outer';
  console.log(outerVar);
  
  function innerFn(){
    let innerVar = 'inner';
    console.log(innerVar);
  }
  return innerFn;
}
let globalVar = 'global';
let innerFn = outerFn();
innerFn;

첫번째로 return outerFn()();

  • outer와 inner가 출력이 된다. "()()괄호가 두개면 바깥함수와 안쪽에 함수 둘다 호출하는 것
  • 두번째로 let innerFn = outerFn(); 일 경우에는

  • outer가 출력이 된다. 만약 outerFn();을 할 경우에는 outerFn이 출력이 되고 innerFn은 고대로 리턴이 된다. 그렇지만 변수를 innerFn의 할당을 하면 리턴이 되지 않는다.
  • 마지막으로 innerFn();

  • inner가 출력이 된다. 위에 함수에서 조건이 없기에 내부함수에 실행이 되어서 inner가 나온다.
  • 위에 클로저는 매우 중요한 메소드고 앞으로 문제를 통해서 자주자주 풀어보고 개념도 까먹지않게 차곡차곡 준비해서 공부를 해야겠다.

    profile
    개발자가 되고 싶은 새내기

    0개의 댓글