본문 바로가기

JavaScript

let, var, const 비교

let 

: read/write. mutable 이며, block-scoped local 변수 키워드이다. 재선언이 가능하고, 그로 인해 변수의 값을 변경할 수 있다.

 

const

: read only. immutable 이며, block-scoped 키워드이다. 선언한 이후에는 재선언이 안되고, 값을 변경할 수 없기 때문에 let 과 상반되는 역할에 사용하기 용이하다.  그 외에도 장점을 크게 3가지로 설명하자면,

1. Security

2. Thread safety 

3. Reducing human mistakes

등이 있다.

 

var

: function-scoped, global-scoped 변수 키워드이다. "var hoisting"은 어디에 선언했는지에 상관없이 선언을 항상 제일 위로 올린다. 때문에 블록 스코프를 무시한다. 이로 인해 코드가 복잡해질 수록 혼란이 올 수 있고, 그리하여 ES6에 들어 let 키워드의 등장으로 현재는 사용이 거의 추천되지 않는다.

 

- hoisting : to move declaration from bottom to top.