호이스팅 / Var 와 Let 차이 면접질문

박상훈·2023년 5월 1일

호이스팅

자바스크립트는 실행전 저장 되어 있는 변수를 먼저 확인합니다.(메모리에 기억을 해둠)
함수가 실행 되기전 범위에 최상단으로 끌어 올리는것 (호이스팅)

console.log(a); // undefind 가 출력이됩니다.
var a = 1;
console.log(a); // 1 이 출력이 됩니다

가능한 이유는 호이스팅
호이스팅은 변수의 선언과 초기화(undefined)를 같이 선언해버림
이후에 할당을 함

변수 var vs let

const는 상수를 만듭니다. (변하지 않는 값) ex)id pw

var 에서 함수만 지역변수 로 호이스팅 되고 나머지는 다 전역변수 처리가 되어버립니다.

for (var i = 1; i < 5; i++) {
  console.log(i);
}
console.log(i);
// 1234 5 까지 출력 되버리는 문제가 발생합니다

변수의 이름의 중복되선 안됩니다.

var a = 1;
console.log(a);
var a = 2;
console.log(a);
// 작동이 되버리는 문제가 발생

let은 TDZ(Temoral Death Zone) a가 호이스팅으로 된건 기억하지만 a선언이 나오기 전 까진 접근할 수 없게합니다.

let a = 1;
console.log(a);
let a = 2;
console.log(a);
// let 사용시 작동이 되지않음

참고한 코딩알려주는누나님의 설명

profile
다들 좋은 하루 되세요

0개의 댓글