클로져

이재원·2022년 1월 21일
0

클로져란

함수에 함수나 변수를 선언 후 해당 값을 함수나,변수,object로 리턴하여 외부에서 return 된 값을 참조하여 사용

함수 리턴 예제

  • increase 함수를 리턴하여 해당 함수를 실행 하면 실행한 만큼 count 값이 증가 되어 콘솔에 찍힌다. 아래 는 3번 호출 하여 3이 콘솔에 출력된다.
 let closureCounter = () => {
      let count = 0;
      let increase = () => {
        count++;
        console.log('count', count);
      };
      return increase;
    };

let increase = closureCounter();
 increase();
 increase();
 increase();

object 리턴 예제

  • closureUserInfo 함수에서 object형태로 2개의 함수를 리턴하면 외부에서 아래와 같이 호출이 가능 하다
 let closureUserInfo = (name, age) => {
      let printName = `이름은 ${name} 입니다.`;
      let printAge = `나이는 ${age} 입니다. `;

      function showName() {
        console.log(printName);
      }

      function showAge() {
        console.log(printAge);
      }

      return {
        showName,
        showAge
      };
    };

 let userInfoInstance = closureUserInfo('jaewon', 37);
      userInfoInstance.showName();
      userInfoInstance.showAge();

0개의 댓글