예전에 사용하던 말이 많았던 var... 요즘에는 const와 let으로 대체되었다.

하지만, 완전 대체되진 않았다. 스코프(유효 범위) 때문이다.

 

const와 let은 블록 스코프를 지니고 있다.

var는 함수 스코프를 지니고 있으므로 일반적인 if문의 블록이나 for문의 블록과 상관없이 동작한다.

 

const는 쉽게말해서 한 번만 할당한다( = )고 생각하면 된다. 한 번 값을 할당하면 그 이후로 값을 재할당할 수 없다.

또한, 초기화할 때 값을 할당해야 에러가 나지 않는다. 

즉,

const a;

a = 20;

 

이렇게 작성하는 것은 불가능하다. 무조건 첫 선언과 동시에 할당해야한다.

 

let은 값이 언제든지 변할 수 있는 변수를 선언할때 사용한다. const에 비해 var와 유사하다.

const b;

b = 20;

 

둘 중 언제 어떤 것을 쓰면 될까?

 

변수는 초기화했던 값이 다른 값을 다시 할당하는 경우는 적을뿐만 아니라 실수로 변수의 값을 변경할 가능성도 존재한다.

따라서, 기본적으로 const를 사용하고 다른 값을 할당해야한다는 확신이 있을 때 let를 사용하면 된다.

 

 

Posted by sungho88
,

이전에는 var 키워드를 사용하여 변수를 생성하여 값을 담았다.


var 키워드는  ES6에서 const와 let이 나오면서 사용하지 않는다.


var 키워드의 스코프(Scope)는 함수 단위이다.



const : 한 번 설정한 후 변할 일이 없는 값을 선언할 때 사용(상수)

let : for 문 등 값이 계속 유동적으로 변할 가능성이 있을 때 사용















아래와 같은 에러는 


const에서 값을 선언하지 않았을경우 발생하는 에러이다.


const는 상수이기 때문에, 1회 선언되면 그 이후 변경할 수 없다.



SyntaxError: Missing initializer in const declaration

Posted by sungho88
,