[Javascript] let - 변수 스코프를 조절하는 키워드.

웹 & 안드로이드/HTML5|2014. 5. 29. 09:51
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
(function(){
    
    var total = 0;
    for(var i = 1; i < 11; i++){
        var temp = i;
        total += temp;
    }
    
    console.log("total : " + total);
    
   //블록 내에 선언된 변수들이지만 호출이 가능하다..
    console.log("temp : " + temp);
    console.log("i : " + i);
    
})();

결과 :

total : 55

temp : 10

i : 11

 

자바스크립트는 함수 내의 블록내(if문이나 for문 등)에 선언되어도 변수의 스코프가 함수 전체로 되어버린다. 

그러나 var대신 let이라는 키워드를 사용하면 일반 자바나 c#처럼 블록내에서만 사용할 수 있는 변수가 된다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
(function(){
    
    var total = 0;
    for(let i = 1; i < 11; i++){
        let temp = i;
        total += temp;
    }
    
    console.log("total : " + total);
    
   //밖에서는 정의되지 않았기 때문에 호출하려고 하면 에러가 난다..
    console.log("temp : " + temp);
    console.log("i : " + i);
    
})();

결과 :

total : 55

error! : 'temp'이(가) 정의되지 않았습니다.

 

let keyword refference - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let 

댓글()