Trainings/이전 TIL 기록

[TIL] 2020-02-27

태기의삶 2020. 2. 27. 22:15

[노마드 코더]

바닐라 자바스크립트 강좌 #1 Theory까지 수강

자바스크립트 : var / let / const 변수 선언 정리

 

[프로그래머스]

알고리즘 1문제 풀기

 

[생활코딩]

자바스크립트에서 전역 변수와 지역변수 원리

※ 전역 변수 : 함수 외부에서 선언된 변수로, 에플리케이션 전역에서 접근이 가능한 변수를 의미한다.

※ 지역 변수 : 함수 내부에서 선언된 변수로, 함수 안에서만 접근이 가능한 변수를 의미한다. 

var vscope = 'global'; // 여기서, vscope는 전역 변수를 의미
function fscope(){
    var vscope = 'local'; // 여기서, vscope는 지역 변수를 의미
    alert('함수안 '+vscope);
}
fscope(); // 결과 : 함수안 local
alert('함수밖 '+vscope); // 결과 : 함수밖 global

하지만,

var vscope = 'global';
function fscope(){
    vscope = 'local';
    alert('함수안'+vscope);
}
fscope(); //결과 : local
alert('함수밖'+vscope); // 결과 : local

 

함수밖에서도 vscope의 값이 local인 이유는 무엇일까?

함수 fscope의 지역변수를 선언할 때 var를 사용하지 않았기 때문이다.

var를 사용하지 않은 지역변수는 전역 변수가 된다.

var을 쓰는 것과 쓰지 않는 것의 차이를 이해해야 한다.

 

주의할 점!

자바스크립트에서는 함수에 대한 유효범위만을 제공한다.

for(var i = 0; i < 1; i++){
    var name = 'coding everybody';
}
alert(name); // 결과 : coding everybody

즉, 함수를 제외한 나머지 for문이나 if문 등 { } 내에서 선언된,

지역변수들은 지역변수로써의 의미를 갖지 않는다.