Language/CSS&javascript / / 2023. 1. 12. 18:32

[JavaScript] var, let, const 차이점

반응형

JavaScript 에서 변수 선언 방식에는 var, let, const 가 있다. 이들의 차이점은 무엇이며 어떻게 사용하면 되는지에 대하여 알아보자.

 

1. var 의 문제점

예전에는 JavaScript 에서 변수는  var   를 사용하였다.

하지만 var 는 큰 단점을 가지고 있다.

 

var text = 'java'
console.log(text) 

var text = 'script'
console.log(text)

Output:

java
script

변수를 한 번 더 선언 했지만 해당 코드는 에러가 발생하지 않고 각 다른 값이 출력 되는 것을 볼 수 있다.

옛날에는 유연한 변수선언 방식으로 장점으로 꼽혔으나, 현재는 이런 유연한 때문에 오류가 발생하면 파악하기도 어렵고 값이 이렇게 변경될 여지가 있다.

그래서 ES6  이후, 이를 보안하기 위해  let  과   const 가 추가되었다.

 

2. let 의 사용법

위의 문제 되었던 코드를  let 으로 바꾸어 보자.

let text = 'java'
console.log(text) 

let text = 'script'
console.log(text)

Output:

java
Uncaught SyntaxError: Identifier 'text' has already been declared

text 가 이미 선언되었다는 에러 메시지가 나온다. 이것은 뒤에 나올  const 도 마찬가지이다.

 

오류가 나오지 않도록 코드를 수정하자면 아래와 같다.

let text = 'java'
console.log(text) 

text = 'script'
console.log(text)

Output:

java
script

이렇게 선언을 하지 않고 변수에 값을 재할당하면 가능하다.

 

3. const

그렇다면 const 는 무엇일까?

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

const text = 'java'
console.log(text) 

const text = 'script'
console.log(text)

text = 'test'
console.log(text)

 Output:

java
Uncaught SyntaxError: Identifier 'text' has already been declared
Uncaught TypeError: Assignment to constant variable.

즉, 한번 변수에 할당을 하면 값을 바꿀 수 없다.

 

정리

변수 선언에 대하여 정리를 해보자면

  1. var는 되도록 쓰지 않는다.
  2. 변수 선언에는 기본적으로 const 를 사용한다.
  3. 재할당이 필요한 경우에 한정해  let 을 사용하는 것이 좋다.

객체를 재할당 하는 경우는 생각보다 흔하지 않다.

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유