본문 바로가기
코딩/javascript

[javascript] 변수들 var,let,const 의 차이?

by 김개의 생활 2022. 11. 16.
728x90
반응형

안녕하세요. 김개입니다.

여러분들은 javascript를 시작하며

변수선언시 왜 var을 사용하는지? let을 사용하는지?

const는 왜 사용하는건지? 궁금하셨을겁니다.

설명만 듣다보면 대체 뭔차이지?

라고 느끼시는분들이 많기에 간단하게 정리하여 보여드릴게요.

첫번째 var

해당변수를 지정할때 대부분 많이 사용하죠?

ES6 이전에는 해당변수를 많이 사용할수 밖에 없었죠.

그래서 많이 익숙할겁니다.

그럼 각각의 차이점을 봅시다.

<script>
var a = 123;
console.log(a); //결과값 123

var a = 234;
console.log(a); //결과값 234

var a = 300;
console.log(a); //결과값 300
</script>

이처럼 var은 같은변수명을 사용하여 재지정을 하면

재지정된 값으로 출력하게 됩니다.

이렇게 되면 언제든 새로지정하여 사용할수 있지만

단점은 내가 같은변수명을 어디서 썼는지 모르게 되고

나중에는 코딩이 꼬이게 되겠죠?

 

자 다음은 let 입니다.

let,const는 ES6이상버전에서 생긴 변수들이죠.

해당변수는 중복으로 선언을 하면 에러가 발생합니다.

단 최초 선언이후 값을 변경할수있는 특징이 있습니다.

<script>
let a = 123;
console.log(a); //결과값 123

let a = 234;
console.log(a); //결과값 오류

a = 300;
console.log(a); //결과값 300
</script>

보시는 바와 같이 let으로 새로선언하면

오류가 발생하고 이미 변수로 지정된것에 값만

변경시에는 잘적용되는것을 볼수있습니다.

 

그다음은 const입니다.

const의경우 최초선언 이후 변경이 불가능합니다.

음 고유값을 가진다고 해야할까요?

다음 예시를 한번보죠

<script>
const a = 123;
console.log(a); //결과값 123

const a = 234;
console.log(a); //결과값 오류

a = 300;
console.log(a); //결과값 오류
</script>

예시만 보고 차이를 알기에는 아직 헷갈릴수 있습니다.

var을보면 언제어디서 재할당을 하든

재선언 or 재할당전까지 지정된 값을 가지고 있는것을 볼수 있습니다.

let은 변수를 재선언하는것은 불가능하지만

할당은 가능합니다.

아마 이부분이 헷갈릴것 같은데

보통 변수를 선언할때 앞에 var 또는 let,const를 지정하죠?

할당이라함은 처음 변수선언 이후 선언된 변수값만가지고 값을 매기는것을

할당이라 보면되겠네요.

const재선언/재할당 둘다불가능하구요.

자 그럼 편하게 var을 쓰지 왜 귀찮게 let과 const를 쓸까요?

우리는 var을 쓸때 어디서 어떤변수로 지정을 했는지,

또는 왜 원하는값이 제대로 출력이 되지않는지?

고민을 많이 했었을거에요.

var은 말그대로 출력전 바로앞의 지정된 변수값을

출력하기에 코딩이 길어지다보면 까먹기 일수였죠.

그래서 ES6이후에 나온것이 let과 const 인데

단순히 생각해서

let 은 최초선언후 값이 변경되는것들에 대해서는

let으로 선언하고

고정값을 가지고 싶은 변수는

const로 지정해주면 될것같아요.

여러분들도 이 3가지의 차이를 확인하여

올바르게 변수를 사용하도록 합시다.

이상 잡블리셔였습니다.

반응형

댓글