키워드, 블록 스코프 -ECMAScript

글로벌 변수 오해

글로벌 오브젝트에 작성한 변수는 글로벌 오브젝트가 스코프입니다.
글로벌 오브젝트에 작성하여 글로벌 변수라고 부르는 것이지,
글로벌 오브젝트에서 보면 로컬 변수입니다.

var 키워드를 작성하지 않으면 글로벌 변수로 간주한다는 점으로 인해
var키워드를 작성하지 않을 뿐이지 글로벌 변수는 var 키워드를 사용하지 않는다는것이 아닙니다.

글로벌 변수도 var 키워드를 사용하여

var global = “”;

형식으로 작성하는 것이 정확한 작성법입니다.

글로벌 변수는 객체지향 관점에서 보면 단점이라고 할 수 있습니다.
function 안에서 글로벌 오브젝트에 작성된 글로벌 변수를 사용할 수는 있지만,
다른 프로그램에서 글로벌 변수 값을 변경 하거나 재사용 할 수도 있는 위험이 있습니다.
이러한 경우는 자칫 오류를 만들게 되어 객체 지향 기본에서 어긋나는 행동입니다.

자세히 보기