var vs let vs const

bbbbbhyun·2023년 5월 14일
0
if (true) {
  var functionScopeValue = "global";
  let blockScopeValue = "local";
}
console.log(functionScopeValue); // global
console.log(blockScopeValue); // ReferenceError

var

  • var 키워드로 정의한 functionScopeValue 변수는 함수 단위의 유효 범위를 가지게 되어 if 문의 블록에서 정의하여도 블록 밖에서도 접근이 가능
  • 업데이트 가능하고 재선언 가능

let

  • 키워드로 정의한 blockScopeValue 변수는 블록 단위의 유효 범위를 가지게 되어 if문의 블록 밖에서 접근할 경우 ReferenceError가 발생
  • 업데이트 가능하고 재선언 불가능

const URL = "http:js,com";
URL = "http://js.com";

if (true) {
  const URL2 = "http://js.com";
}

console.log(URL2);

const

  • 블록 밖에서 접근할 경우 에러 발생
  • 업데이트 불가하고 재선언 불가능

var, let, const 총정리

  • var 선언은 전역 범위 또는 함수 범위이며, let과 const는 블록 범위
  • var는 범위 내에서 업데이트 및 재선언가능
  • let 변수는 업데이트할 수 있지만, 재선언 불가능
  • const 변수는 업데이트와 재선언 둘 다 불가능
  • 세 가지 모두 최상위로 호이스팅가능
  • var 변수만 undefined(정의되지 않음)으로 초기화되고 let과 const 변수는 초기화 불가능
  • var와 let은 초기화하지 않은 상태에서 선언할 수 있지만, const는 선언과 동시에 초기화해야한다.
profile
BackEnd develope

0개의 댓글