ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • javascript (var과 let의 차이)
    web 2022. 4. 15. 14:10

    var과 let의 차이

    변수는 스코프(범위)를 가진다.

     

    var은 함수 스코프를 가지고 있다.

     

    let은 블록 스코프를 가지고 있다.

     

     

    var 테스트

    function var_test() {

        var a = 1;

    }

    console.log(a);

     

    실행결과

    a를 출력하려고 하면 에러발생. 

    a는 함수 안에 선언된 변수이므로 함수 밖에서는 접근할 수 없다.

    함수 스코프는 함수를 경계로 접근 여부가 달라지기 때문.

     

    let 테스트

    if (true) {

        let a = 1;

    }

    console.log(a);

     

    실행결과

    let의 경우에는 블록스코프이기 때문에 에러가 난다.

    블록은 if, for, while문의 {} 중괄호를 의미한다.

    블록 밖에서는 블록안의 let에 접근할 수 없다.

     

     

    let과 var테스트

     

    let

    for (let i = 0; i < 5; i++) {}

    console.log(i);

     

    실행결과

     

    var

    for (var i = 0; i < 5; i++) {}

    console.log(i);

     

    실행결과

     

    둘의 차이점

    let은 블록스코프이기 때문에 블록 밖으로 값이 나오지 못하지만,

    var은 함수스코프이기 때문에 i의 값이 출력된다.

     

Designed by Tistory.