Scope & Closure

김기범·2020년 8월 6일
0

스코프의 개념은 심플하다.
(물론 깊게 들어가면 공부할거리가 매우 많다.)


[출처 : https://dmitripavlutin.com/javascript-scope/]

스코프는 위와같이 유효범위라고 정의 할 수 있다.

즉 작업 영역과도 비슷한 맥락이다.

전역변수를 선언하면 모든 곳에서 변수를 사용 가능하지만
현재 개발 추세에서는 전역변수를 남발하는것을 지양하고 있다.

그 말인 즉슨 우리는 스코프 단위로 작업장을 설정하여 해당 스코프에 선언된 변수들을 보호해 줌으로써 여러가지 나쁜 상황들을 예방 할 수 있다.


[출처 : https://dmitripavlutin.com/javascript-scope/]

스코프의 개념을 이해하면 클로져를 쉽게 이해 할 수 있다.

상위 함수는 내부 함수에 있는 변수를 가져 올 수 없는데 반대의 경우
즉 안쪽에 선언된 함수는 상위의 변수들을 가져 올 수 있다.

이를 잘 활용하면 내부 변수를 보호하면서 상위 변수를 여러가지 방법으로 활용 할 수가 있다.

이렇게 내부의 함수에서 상위의 변수를 활용하는 경우를 클로져라고 부르며

이는 마치 안에서 밖을 볼 수 있지만 밖에서는 안을 볼 수 없게 선팅을 한
차량 또는 유리와도 같다.

스코프에대한 이해가 있어야 클로져를 이해 할 수 있기 때문에 확실한 개념을 잡고 넘어갈 필요가 있다.

0개의 댓글