[JS] 변수와 함수의 호이스팅

yengni·2022년 7월 14일
0

JS

목록 보기
7/11
post-thumbnail

🐶 호이스팅

🐾 변수 호이스팅

  • const , let : 블록레벨(변수가 선언되어있는 그 범위의 중괄호) 유효 범위를 가진다.
    • console.log가 함수레벨에 위치 ➡️ error
    • 같은 블로레벨에 있지만 변수가 console.log 밑에 위치 ➡️ undefined
  • **var **: 함수레벨 유효 범위를 가진다.
    • console.log가 함수레벨에 위치 ➡️ 값 반환된다
    • 같은 블로레벨에 있지만 변수가 console.log 밑에 위치 ➡️ undefined

🐾 함수 호이스팅

: 함수 선언부 가 유효범위 최상단으로 끌어올려지는 현상

📍 함수 표현문의 호이스팅 : 변수 호이스팅

const a = 7;
<here>
const double = function(){
	console.log(a*2);
}
double ();

➡️ double();<here> 자리에 위치한다면?
함수 호이스팅이 아닌 변수 호이스팅이 발생하여 error가 뜬다.

📍 함수 선언문의 호이스팅 : 함수 호이스팅

const a = 7;
<here>
function double (){
	console.log(a*2);
}
double ();

➡️ double();<here> 자리에 위치한다면?
함수 호이스팅이 발생하여 14가 반환된다.

profile
우당탕탕 비전공자의 FE 개발일지

0개의 댓글

관련 채용 정보