열렬히.뛰기

변수선언

웹 프로그래밍 > Javascript > 꼭 필요한 JS > 변수선언

var, let, const의 차이를 알아보자.

변수와 스코프

다음 코드를 치면 에러가 발생한다.

javascript
if (true) {
    var x = 3;
}
console.log(x);

if (true) {
		// let으로 해도 무방
    const y = 3;
}
console.log(y);

분명 x는 잘 실행되는데, y는 되지 않는다. 왜 그럴까?

  • var : 함수 스코프를 가진다.
  • let, const : 블록 스코프를 가진다.

let vs const

  • const : 한번 값을 할당하면 변경 불가. 상수라고 생각.
  • let : 값을 계속 바꿀 수 있음.
javascript
const a = 0;
a = 1;

let b = 0;
b = 1;