JavaScript

JavaScript(JS) - 호이스팅과 var, let, const

인어공쭈 2023. 3. 20. 14:38

호이스팅(Hoisting)의 개념

함수 안에 있는 선언들을 모두 끌어올려서 해당 함수 유효 범위의 최상단에 선언하는 것을 말한다.

따라서 변수를 정의하는 코드보다 사용하는 코드가 앞서 등장할 수 있다. 다만 선언과 초기화를 함께 수행하는 경우, 선언 코드까지 실행해야 변수가 초기화된 상태가 됨을 주의해야 한다.

재할당이 필요없는 경우, const를 사용해 불필요한 변수의 재사용을 방지하고, 재할당이 필요한 경우 let을 사용하는 것이 좋다.

 

1)
function catName(name) {
  console.log("제 고양이의 이름은 " + name + "입니다");
}

catName("호랑이"); 일반적으로 선언


2)
catName("클로이"); 먼저 선언했지만 가능

function catName(name) {
  console.log("제 고양이의 이름은 " + name + "입니다");
}

/*
결과: "제 고양이의 이름은 클로이입니다"
*/
  • var - 변수 재선언 가능
  • let - 변수 재선언 불가능, 변수 재할당 가능
  • const - 변수 재선언 불가능, 변수 재할당 불가능
반응형