Javascript
-
클로저 (closure)Javascript 2016. 5. 30. 10:59
Prototype 와 함께 자바스크립트 특성에 가장 큰 축을 담당하는 클로저에 대하여 알아보자. 다음 예제를 보자. 위 예제에서 보면 A안의 B 라는 내부 함수가 A의 지역변수에 손쉽게 접근하는 것을 볼 수 있다. 그럼 또 하나의 예제를 더 보자. 이번에는 A함수가 B함수를 리턴하도록 변경하였고 B함수는 BFN = A() 즉 A함수를 수행한 뒤에 B() 함수가 실행된다. 분명 A() 함수는 종료 되었는데 아래 B() 함수에서 여전히 A()함수의 지역변수를 사용하고 있다. 이런 코드가 몇몇 개발자에게 직관적이지 않은 이유는 A() 함수의 지역변수는 A()가 종료된 시점에 사라져야 하지만 B()는 여전히 A()의 모든 것을 사용하고 있다. (히히 니 것도 내거 , 내 것도 내거) 결론적으로 클로저는 함수뿐만..