이미 생명 주기가 끝난 외부 함수의 변수를 참조하는 함수를 의미한다.
function outerFunc() {
let x = 1;
return function() {
x++;
console.log(x);
}
};
const newFunc = outerFunc();
newFunc();
여기서 outerFunc() 에 있는 x와 같은 변수를 자유 변수라고 한다.
클로저를 사용하는 코드는 그렇지 않은 코드보다 메모리 부담이 크다.
'IT > JavaScript' 카테고리의 다른 글
호이스팅 (0) | 2020.07.02 |
---|---|
객체지향적 프로그래밍 (0) | 2020.07.02 |
with (0) | 2020.06.30 |
import / export (0) | 2020.06.30 |
다양한 반복문 속도 비교 (0) | 2020.06.30 |
댓글