본문 바로가기
JavaScript

JavaScript 기초(7)_var의 호이스팅

by DeBanker.K 2021. 9. 28.

1. var의 Hoisting(호이스팅)

(1) 아래 있는 선언을(만) 끌어올리다.

hello1은 함수를 먼저 불렀고, hello2는 함수 호출을 먼저했으나 둘다 정상 출력됨
변수 역시 수식 이후에 선언해도 정상적으로 출력됨

(2) 호이스팅 원리 들여다보자.

처음 출력할 때는 'undefined'로 Kim 할당이후에는 'Kim'로 출력됨

ㄱ. 마지막 name에다가 'Park' 문자를 대입하면 어떻게 될까?

대입했음에도 불구하고 여전히 첫번째 출력은 'undefined'이다

ㄴ. 즉 'Park'는 끌어올리지는 않고 'var name'만 끌어올렸다는 것을 의미한다.

ㄷ. 호이스팅은 위와 같이 값을 대입해도 값은 끌어올리지 않고 선언만을 끌어올리는 것이다.

 

(3) let은 어떨까?

var를 let으로 바꾸니 name 초기값이 없다며 오류가 발생한다

let은 초기값이 먼저 선언되어야만 유효한 것을 알 수 있다.

*즉 var의 호이스팅 문제로 요즘은 var보다는 let으로 변수를 사용한다.

'JavaScript' 카테고리의 다른 글

JavaScript 기초(9)_조건문(1)  (0) 2021.10.01
JavaScript 기초(8)_자료형  (0) 2021.09.29
JavaScript 기초(6)_변수의 유효 범위  (0) 2021.09.27
JavaScript 기초(5)_변수/상수  (0) 2021.09.26
JavaScript 기초(4) _주석  (0) 2021.09.25

댓글