이미 생명 주기가 끝난 외부 함수의 변수를 참조하는 함수를 의미한다.
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 |
댓글