[JavaScript] 10. Closure

SSOYEONG·2022년 8월 5일
0

자바스크립트 기초

목록 보기
9/11
post-thumbnail

Closure이란

  • 함수와 Lexical Environment의 조합
  • 함수가 생성될 당시의 외부 변수를 기억
  • 생성 이후에도 계속 접근 가능
function makeAdder(x) {
  return function(y) {
    return x + y;
  }
}

const add3 = makeAdder(3);
console.log(add3(2));	//	5
  • add3 함수가 생성된 이후에도 상위 함수인 makeAdderx에 접근 가능
function makeCounter() {
    let num = 0;    // 내부 함수로만 접근이 가능함. 은닉화

    return function () {
        return num++;
    };

    // 내부 함수 function에서 외부 함수 makeCounter의 변수 num에 접근함
}

let counter = makeCounter();

console.log(counter());     // 0
console.log(counter());     // 1
console.log(counter());     // 2
profile
Übermensch

0개의 댓글