본문 바로가기

JAVASCRIPT

시즌 함수2 유효범위 (Scope) 1

함수는 모듈화의 근간입니다.

 

 

유효범위는 변수의 수명을 의미한다.

 

let vscope ='global'
function fscope(){
let vscope='local';
  alert(vscope);

}

fscope();

fscope()함수를 실행하게 되면 함수안에 있는 지역변수인 local 이 나타나게 됩니다. 

함수안에서만 정의되어있는 vscope 은 지역변수라고합니다.

 

 

let vscope ='global'
function fscope(){
let vscope='local';
  alert(vscope);

}

fscope();

fscope()함수를 실행하게 되면 함수안에 있는 전역변수인 global 이 나타나게 됩니다. 

 

전역변수는 이 어플리케이션 전역에서 사용할수 있다.

 

 

 

 

let vscope ='global'
function fscope(){
  vscope ='local'
  alert(vscope);

}

fscope();

 

결과는 ? local 입니다.

let을 삭제하게 되면 전역변수가 됩니다.

 

 

 

let vscope ='global'
function fscope(){
 let vscope ='local'
  vscope="local"
  alert(vscope);

}

fscope();

 

이렇게 하면 어떻게 될가요? global입니다.

 

이미 let vscode = 'local'  지역변수가 안에 선언되었기 떄문입니다.

 

 

 

전역변수는 사용하지 않는 것이 좋습니다. 여러가지 이유로 그 값이 변경될 수 있기 때문입니다. 함수 안에서 전역변수를 사용하고 있는데, 누군가에 의해서 전역변수의 값이 달라졌다면 어떻게 될까요? 함수의 동작도 달라지게 된다. 이것은 버그의 원인이 된다. 또한 함수를 다른 에플리케이션에 이식하는데도 어려움을 초래한다. 함수의 핵심은 로직의 재활용이라는 점을 상기합니다.. 변수를 선언할 때는 꼭 let을 붙이는 것을 습관화해야 한다. 전역변수를 사용해야 하는 경우라면 그것을 사용하는 이유를 명확히 알고 있을 때 사용하도록 합시다.

 

 

이블로그는 생활코딩을 참고해서 포스팅하였습니다. egoing님 감사합니다.

 

 

 

 

 

'JAVASCRIPT' 카테고리의 다른 글

전역변수의 사용  (0) 2020.11.01
유효 범위의 효용2  (0) 2020.11.01
api 문서 보는 법  (0) 2020.10.29
Api 와 Ui 란?  (0) 2020.10.28
모듈  (0) 2020.10.26