클로저(Closure) 발표 자료

클로저는 함수형 프로그래밍 언어에서 등장하는 보편적인 특성이다. JS 고유의 개념이 아니라 ECMAScript 명세서에도 클로저 정의를 다루지 않고 있다. MDN에서는 클로저를 이렇게 정의하고 있다. A closure is the combination of a function and the lexical environment within which that function was declared '클로저는 함수와 그 함수가 선언될 당시의 Lexical environment와의 상호관계에 따른 현상' 함수 내부에서 함수 외부에 있는 변수에 접근할 수 있다는 사실을 우리는 알고 있습니다. 위에서 언급하고 있는 “현상“의 의미를 알아보자...

July 1, 2021 · nibble2

클로저

들어가며.. 자바스크립트는 함수 지향 언어입니다. 이런 특징은 개발자에게 많은 자유도를 줍니다. 함수를 동적으로 생성할 수 있고, 생성한 함수를 다른 함수에 인수로 넘길 수 있으며, 생성된 곳이 아닌 곳에서 함수를 호출할 수도 있기 때문입니다. 함수 내부에서 함수 외부에 있는 변수에 접근할 수 있다는 사실은 앞서 학습해서 알고 계실 겁니다. 그런데 함수가 생성된 이후에 외부 변수가 변경되면 어떤 일이 발생할까요? 함수는 새로운 값을 가져올까요? 아니면 생성 시점 이전의 값을 가져올까요? 매개변수를 통해 함수를 넘기고 이 함수를 저 멀리 떨어진 코드에서 호출할 땐 어떤 일이 발생할까요?...

June 29, 2021 · nibble2