Today
-
Total
-
  • [Javascript] var/const/let
    Coding/JavaScript 2019. 10. 28. 17:36

    Var / Const / Let

    자바스크립트 ES6 이전에서는 값을 담는 키워드로 var을 사용했습니다.

    var키워드는 scope가 함수 단위로, 치명적인 결점이 있습니다.

    function myFunction() {
        var a = '1';
        if(true) {
            var a = '2';
            console.log(a); // 2
        }
        console.log(a); //2
    }
    myFunction();

    맨처음 var 값을 선언하고, if문 내부에서 다른 값으로 선언했습니다. if문 내부에서 새로 선언했음에도 if문 밖에서 a를 조회하면 변경된 값이 나타납니다.


    이러한 결점을 해결하기 위하여 let과 const가 등장했습니다.

    function myFunction() {
        let a = '1';
        if(true) {
            let a = '2';
            console.log(a); // 2
        }
        console.log(a); // 1
    }
    myFunction();
    1. let과 const는 scope가 함수 단위가 아닌 블록 단위이므로, if문 내부에서 선언한 a 값은 if문 밖의 a 값을 변경하지 않습니다.
    2. const는 한번 선언하면 재설정 할 수 없습니다(상수)
    3. let과 const는 같은 블록 내에서 중복 선언이 불가능합니다.

    let과 const의 차이점은 let은 선언 후 값이 유동적으로 변할 경우에만 사용하고, const는 한번 설정한 후 변할 일이 없는 값에 사용합니다.

    ES6 이후에는 var을 사용할 일이 없으며, 기본적으로 const를 사용하고 해당 값을 바꿔야 할 경우에는 let을 사용하면 되겠습니다.

    'Coding > JavaScript' 카테고리의 다른 글

    [Javascript] 랜덤 색깔 스타일 지정하기  (0) 2019.12.02
    [JavaScript] map()  (0) 2019.11.29
    [Javscript] 배열 비구조화 할당  (0) 2019.11.25
    [JavaScript] eval()  (0) 2019.09.20
    [JavaScript] noscript 태그  (0) 2019.09.20

    댓글