JavaScript - 호이스팅

김서영·2024년 2월 11일
0

호이스팅


변수를 선언 이전에 참조할 수 있는 현상

var로 선언된 변수는 선언 이전에 참조할 수 있으며, 이러한 현상을 호이스팅이라고 한다.

  • 변수 선언 이전 위치에서 접근 시 undefined를 반환

예시)

console.log(name) // undefined => 선언 이전에 참조
var name = "김서영" // 선언

console.log(email) // Uncaught ReferenceError
let email = 'ksykma@naver.com'

console.log(age) // Uncaught ReferenceError
const age = 28

즉, javascript에서 변수들은 실제 실행 시에 코드의 최상단으로 끌어올려지게 되고, 이러한 이유 때문에 var로 선언된 변수는 선언 시에 undefined로 값이 초기화 되는 과정이 동시에 일어남

반면 let, const는 호이스팅이 일어나면 에러를 발생시킴

변수를 선언하기 전에 접근이 가능한 것은 코드의 논리적인 흐름을 깨뜨리는 행위이기 때문에 이를 방지하기 위해 let, const가 추가됨

  • 즉, var는 사용하지 않아야 하는 키워드!

profile
개발과 지식의 성장을 즐기는 개발자

0개의 댓글

관련 채용 정보