Java Script/Vanila JavaScript

Java Script 1. var, let, const에 대해서 알아보자!

scatterbrain 2021. 8. 17. 22:46

내가 java script를 공부하면서 궁금한 점을 올리겠습니다!

JavaScript에서 변수 선언 방식인 var, let, const의 차이점에 대해 알아보자!

 

1.변수 선언 방식

우선, var 변수를 선언해 보자

var car = 'Ferari'
console.log(car) //Ferari

var car = 'Bugati'
console.log(car) // Bugati

 같은 이름의 변수를 선언했음에도, 에러가 나오지 않고 다른 값이 출력된다.

이게 뭐가 문제야?라고 생각할 수도 있다. 나도 그랬다. 오히려 더 좋다고 생각했다.

하지만 코드량이 많아지고 사용하는 변수가 많아진다고 생각하면, 

 

저 위에서 사용한 var car 를 저 아래에서 다시 선언하게 된다면,, 끔찍하다...

 

이런 문제를 보완하기 위해서 사용된 방식이 let 과 const다.

 

코드를 작성해 보면,

let car = 'Ferari'
console.log(car) //Ferari

let car = 'Bugati'
console.log(car) // Uncaught SyntaxError : Identifier 'name' has already been declared

car가 이미 선언된 변수라고 에러메세지가 나온다. 한 마디로 let 이나 const는 변수 재선언이 되지 않는다.

 

그렇다면 왜 let, const 두개를 만들어 놓은것일까?

두 개의 차이점은 immutable 여부이다. 불변이란 뜻이다.

 

// let은 변수에 재할당이 가능하다.
let car = 'Ferari'
console.log(car) //Ferari

let car = 'Bugati'
console.log(car) // 위에서 본것처럼 오류가 뜬다.

car = "RollsRoyce"
console.log(car) // RollsRoyce가 출력된다.

//const 는 변수 재선언, 변수 재할당 모두 불가능하다.
const car = 'Ferari'
console.log(car) // Ferari

const car = 'Bugati'
console.log(car) 
// 위에서 본것처럼 오류가 뜬다.

car = 'RollsRoyce'
console.log(car) 
//Uncaught TypeError: Assignment to constant variable.

const는 오류가 떠버린다. 

 

정리

var , let, const 세가지의 변수 선언에 대해서 알아보았다. 평상시에 코딩할 때  var를 많이 썻는데

youtube강의를 듣다보니 많은 선생님들이 var보다는 let이나 const를 많이 사용하셨다.

 

let은 한번 선언한 변수가 있다면 다음에 선언할 때 고민하지 않아도 되니 좋은거 같다.

const는 그 변수에 무결성을 잘 지켜줄 수 있을것 같다.

 

필요에 따라서 잘 사용하고 var는 지양하도록 해야겠다.