[js] Scope

lilyoh·2020년 7월 22일
0

Scope 관련 용어

  • scope : 변수가 선언/사용될 수 있는 공간
  • block : 중괄호로 감싸진 단위
  • global scope : 전역 범위
  • global variable : 전역에서 접근 가능한 변수
  • block scope : 블럭 안에 국한된 범위
  • local variable : 블럭 안에서만 접근 가능한 변수
  • global namespace : 전역 범위의 공간
  • scope pollution : 변수의 범위를 고려하지 않고 변수를 선언해서 혼란이 오는 것

좋은 Scoping 습관

global 변수를 남용하면 scope pollution 이 생길 수 있다.
변수들은 최대한 block scope 으로 선언하는 것이 좋다.

타이트한 scoping 은 :

  • 코드가 block 으로 구분되므로 가독성이 좋다.
  • 코드가 기능별 block 으로 나뉘어서 이해하기 좋다.
  • 코드의 유지보수가 쉽다.
  • block 이 끝나면 local 변수가 버려지므로 메모리가 절약된다.

전역변수, 지역변수

안에서는 밖을 볼 수 있지만,
밖에서는 안을 볼 수 없다.

블럭 내에서 전역 변수를 사용할 수는 있지만,
블럭 밖에서 지역 변수를 사용할 수는 없다.

0개의 댓글