Javascript Var,Let,Const 변수정리

유승완·2022년 11월 29일
0

Today I Learned

목록 보기
9/11

var let const 비교

  1. var는 한번 선언된 변수를 다시 선언할 수 있다.
var name = 'Mike';
console.log(name); // Mike

var name = 'Jane';
console.log(name); // Jane
  1. var는 선언하기 전에 사용할 수 있다.
console.log(name); //undefined
var name = 'Mike';
  • undefined가 나오는 이유는 선언은 호이스팅되지만 할당은 호이스팅 되지 않기 때문입니다.
  1. 2번과 같은 상황의 let
console.log(name); // ReferenceError
let name = 'Mike';
  • let과 const도 호이스팅 되지만 초기화되지 않아 그 전에 값을 불러올 시 ReferenceError 발생

호이스팅

스코프 내부 어디서든 변수 선언은 최상위에 선언된 것 처럼 행동

TDZ (Temporal Dead Zone)

TDZ는 함수 할당 전 값을 참조할 수 없는 영역을 뜻 합니다.

  • 이러한 구조로 인해 코드를 예측가능하게하고 잠재적인 버그를 줄일 수 있습니다.

변수의 생성과정

  1. 선언 단계
  2. 초기화 단계
  3. 할당 단계
var
1. 선언 및 초기화 단계  // 초기화 : undefined를 할당 해주는 단계
2. 할당 단계
let
1. 선언 단계
2. 초기화 단계
2. 할당 단계
const
1. 선언단계 + 초기화단계 + 할당단계

개발 시 const 사용을 권장하며, 값의 재 할당이 필요한 경우 let을 사용합니다.
var는 사용하지 않는 것을 권장 합니다. var를 사용 시 값의 예측이 어려워 지게 됩니다.

profile
나를 위한 기록

0개의 댓글