클로저와 프로토타입 ?
클로저 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님 블로그
Author And Source
이 문제에 관하여(클로저와 프로토타입 ?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@beablessing/클로저와-프로토타입저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)