스코프 체인과 변수 은닉화

솜주먹·2022년 7월 21일
0

📢안내

  • 개발자를 꿈꾸는 뉴비입니다.
  • 틀린 부분이 있으면 지적 부탁드립니다.



📌 스코프 체인(Scope chain), 변수 은닉화

📖 스코프 체인

  • 스코프 란? 범위, 즉 식별자에 대한 유효 범위
  • 영어로 보면 스코프를 chain(사슬,연쇄), 즉 연결이라는 해석인데 정확하게는 스코프를 안에서 부터 바깥으로 차례대로 검색해 나가는 것을 스코프 체인(Scope chain)이라고 함

✍ 예시

var test = 1;

var a = function() {
  var b = function() {
    var c = function() {
      console.log(test) // undefined 
      var test = 3;
    };
    c();
    console.log(test) // 5 // b 스코프 내부에는 test가 없으므로 가까운 a 스코프 값을 참고합니다.
  };
  var test = 5
  b();
  console.log(test) // 5 // a 스코프의 가장 가까운 스코프는 자기 자신인 5입니다.
};
a();
console.log(test); // 1 // 전역 스코프에서 가장 가까운 스코프는 자기 자신인 1입니다.

📖 변수 은닉화

  • 앞서 a 스코프에서 전역 변수와 이름이 같은 test를 선언
  • 이렇게 되면 a 스코프 이하에 있는 스코프들은 전역 변수에 접근할 수 없게 됨
  • 이러한 기법을 변수 은닉화라고 함

💖 참조

운영중지 블로그

0개의 댓글