본문 바로가기

Java Script/Vanila JavaScript

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

내가 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는 지양하도록 해야겠다.