• var, let, const 차이점

    2021. 12. 30.

    by. 용디

    var : 함수단위 유효범위 (전역 스코프)

    let, const (ES2015+) : 블럭단위 유효범위 (지역 스코프)


    var

    - 변수 중복 선언, 재할당 모두 가능

    let

    - 변수 중복 선언이 불가하지만, 재할당은 가능

    let name = 'kmj'
    console.log(name) // output: kmj
    
    let name = 'howdy' // output: Uncaught SyntaxError: Identifier 'name' has already been declared
    
    name = 'howdy'
    console.log(name) // output: howdy​

    const

    - 반드시 선언과 초기화를 동시에 진행되어야 한다.

    const name; // output: Uncaught SyntaxError: Missing initializer in const declaration
    const name = 'kmj'​

    - 변수 재선언과 재할당이 모두 불가 (재할당의 경우, 원시 값은 불가능하지만, 객체는 가능)

    // 원시값의 재할당
    const name = 'kmj'
    name = 'howdy' // output: Uncaught TypeError: Assignment to constant variable.
    
    // 객체의 재할당
    const name = {
      eng: 'kmj',
    }
    name.eng = 'howdy'
    
    console.log(name) // output: { eng: "howdy" }​

    [참고]

    https://www.howdy-mj.me/javascript/var-let-const/

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

    조건문 업그레이드  (0) 2022.02.11
    단락 회로 평가  (0) 2022.02.11

    댓글