본문 바로가기

Programming/Web 개발

[JS ES6] var/ let /const 차이점

ES6로 업데이트 되면서 javascript에서 변수를 선언할 때 let과 const의 사용이 권장된다.
하지만 여전히 많은 튜토리얼 영상이나 강의에서는 var을 가르치고 있는데 이유는 무엇일까?

*단순히 그 영상 게시자가 새로운 업데이트를 반영안한 거라고 생각하면 된다.
고민할 것 없이 여러분은 var대신에 let과 const를 사용하면 된다.

var의 문제점이라고 하면 중복 선언을 해도 아무 에러가 없다는 점이었는데 이는 개발자들에게 큰 혼란을 야기하기도 했다.
예를 들면 아래의 코드는 아무런 에러 없이 실행된다.

var fruit = "apple"
console.log(fruit)
>>> "apple"

var fruit = "banana"
console.log(fruit)
>>> "banana"

fruit = "melon"
console.log(fruit)
>>> "melon"

하지만 이는 코드가 몇백줄을 넘어가면서 나도 모르게 변수를 중복 선언하는 경우에 치명적인 오류가 생기기도 하며, 바뀌지 않아야할 변수를 수정하고자 시도할 때도 큰 문제점이 생길 수 있는데 이를 막아줄 수 있는 것이 let과 const이다.

let은 변수의 값의 수정을 허용하지만, 이중 선언시 오류를 출력한다.

let fruit = "apple"
console.log(fruit)
>>> "apple"

let fruit = "banana"
console.log(fruit)
>>> ERROR

fruit = "melon"
console.log(fruit)
>>> "melon"

 

const는 변수의 값의 수정을 허용하지 않고, 이중 선언 역시 허용하지 않는다.

const fruit = "apple"
console.log(fruit)
>>> "apple"

const fruit = "banana"
console.log(fruit)
>>> ERROR

fruit = "melon"
console.log(fruit)
>>> ERROR

 

의심하지말고 앞으로는 let과 const를 활용하여 js코드를 작성하도록 하자!