-
[JavaScript] 변수 호이스팅이란 무엇인가?프로그래밍/JavaScript 2022. 2. 14. 17:10반응형
변수 호이스팅
변수 선언문이 코드의 선두로 끌어 올려진 것처럼 동작하는 자바스크립트의 특징
보통 우리는 코드를 짤 때
변수를 먼저 선언하고 -> 그 변수를 이용한 로직을 짠다.
만약 반대로 짠다면 해당 변수가 없단느 에러가 뜰 것이다
var score; // 변수 선언 console.log(score); // 변수 사용
그러나 자바스크립트는 그 반대!도 동작한다
console.log(score); var score;// 후 선언! // undefined
그 이유는 변수 선언이 코드가 순차적으로 실행되는 시점(런타임)이 아니라 그 이전 단계에서 먼저 실행되기 때문이다!
이런 것처럼 변수 선언문이 코드의 선두로 끌어 올려진 것처럼 동작하는 자바스크립트 고유의 특징을 변수 호이스팅이라 한다!
그렇다면!
console.log(score); var score = 30;
이라고 치면 콘솔에 30이라고 찍혀야 될텐데 여전히 'undefined'가 뜬다.
그 이유는 변수 선언은 런타임 이전에 실행되지만, 값의 할당은 소스코드가 순차적으로 실행될 때 진행되기 때문이다~!!
반응형'프로그래밍 > JavaScript' 카테고리의 다른 글
[JS] 비교할 때 == 와 ===의 차이 (0) 2021.05.23 [JS] 자바스크립트 기본 - 변수와 상수 (0) 2021.04.28 [JS] 자바스크립트 기본 - 코드 구조 (0) 2021.04.27 [node] src와 lib 폴더의 차이 (0) 2021.03.04 [node] 노드 기능 알아보기 (0) 2021.03.02