[Javascript] 전역 변수의 문제점

배석재·2021년 7월 4일

Study

목록 보기
5/14

안녕하세요.
지난 포스팅에 이어서 모던 자바스크립트 Deep Dive 책을 바탕으로 스터디를 진행하면서 정리한 내용을 기술해보려합니다!


1. 변수의 생명 주기

1-1. 지역 변수의 생명 주기

지역 변수의 생명 주기는 함수의 생명 주기와 일치한다.

1-2. 전역 변수의 생명 주기

var 키워드로 선언한 전역 변수의 생명 주기는 전역 객체의 생명 주기와 일치힌다.


2. 전역 변수의 문제점

2-1. 암묵적 결합

전역 변수를 선언한 의도는 전역, 즉 코드 어디서든 참조하고 할당할 수 있는 변수를 사용하겠다는 것이다.
이는 모든 코드가 전역 변수를 참조하고 변경할 수 있는 암묵적 결합을 허용하는 것이다.

2-2. 스코프 체인 상에서 종점에 존재

전역 변수는 스코프 체인 상에서 종점에 존재한다. 이는 변수를 검색할 때 전역 변수가 가장 마지막에 검색된다는 것을 말한다. 즉, 전역 변수의 검색 속도가 가장 느리다.

2-3. 네임스페이스 오염

JS의 가장 큰 문제점 중 하나는 파일이 분리되어 있다 해도 하나의 전역 스코프를 공유한다는 것이다. 따라서 다른 파일 내에서 동일한 이름으로 명명된 전역 변수나 전역 함수가 같은 스코프 내에 존재할경우 예상치 못한 결과를 가져올 수 있다.


3. 전역 변수의 사용을 억제하는 방법

전역 변수를 반드시 사용해야 할 이유를 찾지 못한다면 지역 변수를 사용해야 한다.
따라서 변수의 스코프는 좁을수록 좋다.


이상으로 전역 변수의 문제점에 대한 포스팅을 마치도록 하겠습니다!

profile
"personality begins Where Comparison ends"

0개의 댓글