Chapter [ 클로저 ]

이재협·2021년 9월 8일
0

[JS / Node]

목록 보기
9/13
post-thumbnail

클로저란?
함수와 함수가 선언된 어휘적 환경의 조합

  • 함수를 리턴하는 함수가 클로저의 형태를 만듭니다.

  • 클로저의 핵심은 스코프를 이용해서, 변수의 접근 범위를 닫는(closure; 폐쇄) 데에 있습니다. 따라서, 함수를 리턴하는 것만큼이나, 변수가 선언된 곳이 중요합니다.

  • 외부 함수 ( 보라색 영역 )는 y에 접근이 가능한가요?
    → no, 바깥 스코프에서는 안쪽 스코프로의 접근이불가능합니다.

  • Q. 내부 함수 ( 노랑색 영역 )는 x에 접근이 가능한가요?
    → yes, 안쪽 스코프는 바깥 스코프에서 선언된 변수에 접근이 가능합니다.

  • 내부 함수는 외부 함수에 선언된 변수에 접근 가능하다.

  • 외부 스코프에서는 내부 스코프의 변수에 접근할 수 없다.

  • 어떤 경우에도 value는 직접 수정이 불가능

  • 리턴하는 객체가 제공하는 메소드를 통해 value 값을 간접적으로 조작할 수 있는데 이것을 정보의 접근 제한(캡슐화)이라 한다.

   const makeCounter = () => 
   {
	  let value = 0;
	
	  return
	  {
		  increase: () => 
		  {
			  value = value + 1;
		  }
		  decrease: () =>
		  {
			  value = value - 1;
		  }
		  getvalue: () => value;
	  }
   }

   const counter1 = makeCounter();
profile
코딩만을 잘하는 개발자가 아닌 문제를 해결하는 개발자가 되어보자

0개의 댓글