반응형
function funcA()
{
var text = "Hello";
return function ()
{
console.log(text);
}
}
var funcB = funcA();
funcB();
위의 예제에서처럼 자바스크립트에서는 함수를 객체로 표현하기 떄문에 함수를 값으로 사용할 수 있고
내부함수에서는 외부함수의 필드에 접근할 수 있다.
funcA 함수를 실행하면 text 변수를 출력하는 익명함수가 반환되고 이값을 funcB 에 넣은뒤 실행하면
Hello 라는 값이 console 에 출력된다.
클로저란 내부함수가 외부함수의 필드에 접근할 수 있고, 외부함수는 외부함수의 필드에 접근하는 내부함수가
소멸될 때까지 소멸되지않는 특성을 의미한다.
반응형
'프로그래밍 > JavaScript' 카테고리의 다른 글
[ES6] JavaScript 문자열 ( string ) (0) | 2020.10.20 |
---|---|
[ES6] JavaScript 스코프 ( scope ) (0) | 2020.10.20 |
JavaScript 모듈 ( Module ) (0) | 2020.10.06 |
JavaScript 객체 ( Object ) (0) | 2020.10.06 |
행정구역지도 만들기 (0) | 2020.07.31 |