상세 컨텐츠

본문 제목

자바스크립트 JS Scope block 지역변수 전역변수

Coding/JS

by hwlink 2021. 11. 6. 13:03

본문

Scope를 이해하기 전에 block의 개념에 대하여 알아야합니다.

1. block

중괄호({}, curly brace)로 감싸진 것

function(){

///block///

}

block 내부에서 변수가 적용되면 해당 block 내부에서만 변수가 사용이 가능하다. 해당 변수를 지역변수(local)라고 한다.

2. Global(전역) Scope

scope은 변수가 선언되고 사용할 수 있는 공간

block밖인 global scope에서 만든 변수를 global variable(전역변수)라고 합니다.

scope 외부(block밖)에서는 특정 scope의 변수에 접근할 수가 없습니다.

코드 어디서든 접근 가능하여 변수값을 확인할 수 있다.

자유로운 전역변수가 좋기만 한 것 같지만 단점도 존재한다.

현업에서 코드 함수량이 엄청날텐데 전역변수를 남용하게되면 scopre가 오염되어 어디서 변수가 선언되고

수정 되었는지 찾을 수기 때문에 되도록 전역변수를 지양하고 block scope 지역변수로 코드를 작성하여야한다.

  • block으로 변수가 구분되기 때문에 가독성이 좋다
  • 각각의 기능별로 block되어 있어 추후 유지보수가 쉬워진다
  • block 내에 지역변수는 전역변수와 다르게 프로그램이 끝날때까지 살아있는 것이 아니라 block이 끝나면 지역변수도 종료하기 때문에 메모리 절약이 된다.

관련글 더보기