자바스크립트 var, let, const 변수 차이점, 변수 사용하기

가이드문구

자바스크립트의 변수 중 var, let, const 세가지 변수가 있는데, 이 변수들은 어떻게 사용되는지 선언 방식을 알아보자.

1. var 변수

- 중복 선언 가능

  1. var name = 'js';
  2. console.log(name); // js
  3. var name = 'script';
  4. console.log(name); // script

- var로 선언한 변수는 동일한 이름으로 여러번 중복하여 선언이 가능하며, 마지막에 할당된 변수가 저장된다.

- 필요할 때마다 변수를 유용하게 사용할 수 있지만 이미 선언된 변수를 재할당하는 등의 실수가 발생되므로 코딩량이 많아졌을 때 디버깅이 힘들어진다.

- 이를 보완하기 위해 ES6에서 추가된 변수 선언 방식이 let과 const이다.


2. let 변수

- 중복 선언 불가능, 재할당 가능

  1. let name = 'js';
  2. console.log(name); // js
  3. let name = 'script';
  4. console.log(name);
  5. // Uncaught SyntaxError: Identifier 'name' has already been declared
  6. name = 'javascript';
  7. console.log(name); // javascript

- var 변수와 다르게 let은 해당 변수가 이미 선언되었다는 오류 메세지가 출력된다.

- name = 'javascript'; 와 같이 변수 선언 및 초기화 이후 재할당이 가능하다.


3. const

- 중복 선언 불가능, 재할당 불가능

  1. const name = 'js';
  2. console.log(name); // js
  3. const name = 'script';
  4. console.log(name);
  5. // Uncaught SyntaxError: Identifier 'name' has already been declared
  6. name = 'javascript';
  7. console.log(name);
  8. // Uncaught TypeError: Assignment to constant variable

- const 함수는 중복선언과 재할당 시 에러메세지가 출력된다.

- let과 const의 차이점은 immutable (불변)의 여부이다.

- const는 constant(상수)를 뜻하기 때문에 한 번만 상수 선언이 가능하며 값을 바꿀 수 없다.

- const는 불변을 의미하는 것과 다르게, 배열과 오브젝트의 값 변경은 가능하다.

- 즉, 재할당 하는 코드만 불가능하다

작성자 소개
초이 프로필
WrapUp 블로거

초이

반려견을 좋아하고, 차를 좋아하고, 여행을 좋아하고, 맛집을 찾아 즐기는 웹 개발자 입니다^^