본문 바로가기
CODE/Front-end

[JS] 변수 선언

by zerozero\base 2021. 11. 27.

JavaScript에서 변수를 선언하는 방법은 세 가지가 있다.

 

1. var

우선 var은 JS 초기에 도입된 변수 선언 방식이나 현재는 쓰이지 않고 있다. 그 이유는 동일 변수를 여러번 재선언하면 그 때마다 다른 값을 출력하는 치명적인 단점을 갖고 있기 때문이다.

var byunsu = '천재'
console.log(byunsu) // 값 = 천재

var byunsu = '바보'
console.log(byunsu) // 값 = 바보

예시에서 보듯, 먼저 byunsu='천재'로 선언했는데 바로 아래에 '바보'라고 재선언했다고 바로 값을 바꿔버린다.

선언 여부와 관계 없이 유연하게 변수 선언을 할 수 있다는 것을 장점이라 볼 수 있겠지만, 코드가 길어지면 그 다음은... (아찔)

 

 

2. let

var의 치명적 단점을 보완하기 위해 나온 것이 let과 const이다. 그 중에서 let은 앞에서 이미 선언된 변수가 다시 새로운 값으로 선언되면 오류를 출력한다. 하지만 const와 달리 let으로 선언된 변수는 새로운 값을 재할당할 수 있다.

let byunsu = '천재'
console.log(byunsu) // 값 = 천재

let byunsu = '바보'
console.log(byunsu) // 값 = Uncaught SyntaxError

byunsu = '만재'
console.log(byunsu) // 값 = 만재

 

 

3. const

let에서 설명했다시피, const는 선언된 변수에 새로운 값을 재할당하는 것도 불가능하다. 즉, 한 번 선언하면 그 값은 불변하는 상수라고 생각하면 된다.

let byunsu = '천재'
console.log(byunsu) // 값 = 천재

let byunsu = '바보'
console.log(byunsu) // 값 = Uncaught SyntaxError

byunsu = '만재'
console.log(byunsu) // 값 = Uncaught TypeError

 

Python은 a='천재' 와 같은 형태로 간단하고 유연하게 변수 선언이 가능한데, JS는 제법 복잡하다.

이제부터 본격 시작인데 깊은 공부가 필요하겠다는 생각이 들었다.

댓글