[Javascript] var vs let vs cont

김지민·2023년 5월 11일
0

JS 스터디

목록 보기
2/3

스코프

자신을 참조할 수 있는 유효 범위
식별자를 결정할 때 스코프를 통해서 어떤 변수를 참조할 지 결정한다.

var은 함수 스코프를 가진다.
let, const는 블록 스코프를 가진다.

호이스팅

var은 함수 스코프의 최상단으로 호이스팅 되고 선언과 동시에 undefined로 초기화 된다.

let과 const는 블록 스코프의 최상단으로 호이스팅 되고 값이 할당되기 전까지 어떤 값으로도 초기화되지 않는다.

temporal dead zone
-> 선언은 되었지만 참조할 수 없는 사각지대

재선언

var의 경우 스코프 내에서 중복으로 선언이 가능한다.
하지만, let const의 경우는 불가능하다.

재(중복)선언을 재할당이라고 하기도 한다.

재할당

 var과 let은 재할당이 가능하다.
 const는 선언과 초기화가 동시에 일어나야 하며 재할당이 불가능하다.

선언, 초기화, 할당

사용에 대해서

ES6를 사용한다면 var을 지양할 것 같다.
const의 경우 재할당이 불가능해서
안전서을 보장해준다.

의외로 재할당의 경우가 드물다.
때문에 const로 코드를 작성하고,
재할당이 필요한 부분을 한번더 고려해,
let으로 바꿔서 고려하는 것이 좋을 것 같다는 생각이 든다.

변수 라이프 사이클

profile
💡Habit is a second nature. [Git] https://github.com/Kimjimin97

0개의 댓글