closure 클로저

인코딩·2022년 8월 12일

JavaScript

목록 보기
7/8

Closure 클로저

  • 함수와 environment로 구성
  • 함수가 정의될 때의 environment가 함께 closure로 결합되면서 다양한 활용이 가능
function makeCounterFunction(initValue) {
	var count = initVal;
 	function Increase() {
    	count++;
      	console.log(count);
    }
  	return Increase;
}

var counter1 = makeCounterFunction(0);
var counter2 = makeCounterFunction(10);

counter1(); // 1
counter2(); // 11

counter1을 호출했을 때와 counter2를 호출했을때 count의 값이 다르게 동작한다!

  1. counter1의 closure
    • 함수: function Increase(){}
    • 환경: var count = 0;

  2. counter2의 closure
    • 함수: function Increase(){}
    • 환경: var count = 10;

https://www.youtube.com/watch?v=Um-CJHNc5Pw 보고 공부하기

profile
인생을 코미디처럼 딩기딩딩기딩

0개의 댓글