github.com/taemin-kwon93 Github 보러가기 ->

Computer Language/JavaScript & TypeScript

var, let, const 차이

태민Kwon 2022. 7. 31. 17:04

출처 bathingape.log에서 설명읽기

 

JavaScript에서 변수 선언 방식인 var, let, const 의 차이점

 

 

let  const 의 차이점 -> immutable 여부

    let name = 'bathingape'
    console.log(name) // bathingape

    let name = 'javascript'
    console.log(name) 
    // Uncaught SyntaxError: Identifier 'name' has already been declared

    name = 'react'
    console.log(name) //react

const는 변수 재선언, 변수 재할당 모두 불가능

 

자바스크립트는 ES6에서 도입된 let, const를 포함하여 모든 선언(var, let, const, function, function*, class)을 호이스팅한다.

하지만, var 로 선언된 변수와는 달리 let 로 선언된 변수를 선언문 이전에 참조하면 참조 에러(ReferenceError)가 발생한다.

 

[정리]

그렇다면, 어떤 변수 선언 방식을 써야할까?

변수 선언에는 기본적으로 const를 사용하고, 재할당이 필요한 경우에 한정해 let 을 사용하는 것이 좋다.

그리고 객체를 재할당하는 경우는 생각보다 흔하지 않다. const 를 사용하면 의도치 않은 재할당을 방지해 주기 때문에 보다 안전하다.

  1. 재할당이 필요한 경우에 한정해 let 을 사용한다. 이때, 변수의 스코프는 최대한 좁게 만든다.
  2. 재할당이 필요 없는 상수와 객체에는 const 를 사용한다.