DeepDiveJS Chapter 13. 스코프
[13장. 스코프]
</br>
✏️ 말이 쓰일 범위를 모르면 오해가 생깁니다.
pr이라는 단어를 듣는다면 뭐가 떠오를까?
- 마케팅에서는 PR을 Public Relations로 말하며, 대중과의 긍정적인 관계를 형성하기 위해 하는 활동을 말한다.
- 헬스에서는 PR을 Personal Record라고해서 개인 기록을 말한다.
- 개발에서는 PR을 Pull Request의 의미로 사용하며, 깃허브에서 내 작업물이 브랜치로의 병합될 수 있도록 요청하는 것을 말한다.
사람은 편의를 위해 축약어나 단어를 사용하고, 범위가 넓어지게 되면 동음이의어가 생기게 된다.
코드도 똑같다. 코드에서도 변수의 사용범위가 뒤죽박죽이고 변수를 읽는 순서가 다르다면 오해가 생길 수 있을 것이다.
</br>
✏️ 이를 위해 스코프(Scope)가 있어요.
이러한 오해를 막기위해서 스코프가 존재한다.
변수를 선언하면 해당 변수가 사용될 수 있는 스코프 내의 객체에 식별자로 등록되게 되며, 변수를 호출했을 때 호출한 스코프에 해당 변수가 없다면 하나씩 상위 스코프를 탐색하게 된다.
이러한 이유로 사용상의 편의를 위해 무턱대로 전역변수에 변수를 선언하는 것은 좋지 않다. 이는 14장. 전역 변수의 문제점에서 다뤄진다.