DeepDiveJS Chapter 13. 스코프

[13장. 스코프]

</br>

✏️ 말이 쓰일 범위를 모르면 오해가 생깁니다.


  pr이라는 단어를 듣는다면 뭐가 떠오를까?

  1. 마케팅에서는 PR을 Public Relations로 말하며, 대중과의 긍정적인 관계를 형성하기 위해 하는 활동을 말한다.
  2. 헬스에서는 PR을 Personal Record라고해서 개인 기록을 말한다.
  3. 개발에서는 PR을 Pull Request의 의미로 사용하며, 깃허브에서 내 작업물이 브랜치로의 병합될 수 있도록 요청하는 것을 말한다.

사람은 편의를 위해 축약어나 단어를 사용하고, 범위가 넓어지게 되면 동음이의어가 생기게 된다.

코드도 똑같다. 코드에서도 변수의 사용범위가 뒤죽박죽이고 변수를 읽는 순서가 다르다면 오해가 생길 수 있을 것이다.

</br>

✏️ 이를 위해 스코프(Scope)가 있어요.


  이러한 오해를 막기위해서 스코프가 존재한다.

변수를 선언하면 해당 변수가 사용될 수 있는 스코프 내의 객체에 식별자로 등록되게 되며, 변수를 호출했을 때 호출한 스코프에 해당 변수가 없다면 하나씩 상위 스코프를 탐색하게 된다.

이러한 이유로 사용상의 편의를 위해 무턱대로 전역변수에 변수를 선언하는 것은 좋지 않다. 이는 14장. 전역 변수의 문제점에서 다뤄진다.