클로저와 프로토타입 ?

클로저 closure

클로저란 ?

생명주기가 끝난 외부함수의 변수를 참조하는 함수를 말함.

function outer(){
	var a = 10;
  
  	function inner() {
    	a++; 
      	console.log(a);
	}
  return inner();
}

이때, inner() 함수를 클로저 라고 하며, 변수 a를 자유변수라고 함.
클로저의 뜻은 '자유변수에 엮여있다'

  • 클로저는 함수가 선언될 당시의 환경을 기억한다.(그 환경을 사용할 수 있음)

클로저를 통한 캡슐화

클로저는 보호막의 역할을 하며, 클로저로 인해 변수나 함수를 private 하게 사용할 수 있다.
==> 변수의 유효범위를 제한하려는 용도로 사용할 수 있음(캡슐화)

프로토타입 Prototype ?

JS의 모든 객체는 부모가 존재하고, 부모와 연결되어있음
따라서 부모 property와 methodㅇ를 상속받아 사용가능함.

prototype 왜 사용하나

  • 상속
  • 생성자 함수로 생성된 객체에 속성과 메서드를 공유하기 위함

참고하기
https://www.youtube.com/watch?v=yXnbvyl04V4 생활코딩
https://victorydntmd.tistory.com/52 victolee님 블로그

좋은 웹페이지 즐겨찾기