본문 바로가기

프로그래밍지식/javascript

var 대신에 let,const를 사용하는이유

 

var의 문제점

1. 블록레벨 스코프가 되지않는다.

2. 변수 호이스팅이 일어난다.

3. 변수를 중복 선언할 수 있다.

 

 

ES6에서 생긴 let과 const

 

let

 

일반적으로 변수에 값을 재할당할때 이용할 수 있다.

블록레벨스코프가 된다. 블랙레벨스코프란 함수내부뿐만아니라 일반문에서도 지역스코프가 발생하는것을 말한다.

변수 호이스팅이 일어나지 않는다.

정확히 말하면 호이스팅이 일어나지않는것처럼 보이게 한다.

 

const

 

재할당이 필요없는 상수의 값을 초기화 할때 사용한다.

선언과 초기화는 동시에 진행해야한다.

당연히 한번변경된 값은 바꿀 수 없다.(재할당금지) 다만 예외가 있는데 객체같은 경우에는 값을 변경 할 수 가 있다.

 

1
2
3
4
5
const somethingObj = {name:'mark', age:30};
 
somethingObj.age = 40;
 
console.log(somethingObj);  //{name: "mark", age: 40}
cs

 

결론

 

ES6에서는 거의 let이나 Const를 쓴다.

필자의 경우 const를 먼저 쓰고 그다음 할당할경우가 있을때 let을 쓰는게 좋다고한다.