Javascript Deep Dive - 변수

jodbsgh·2022년 12월 3일
0
post-thumbnail

변수

호이스팅에 의한 값의 할당

자바스크립트에서 변수선언은 소스코드가 한 줄씩 순차적으로 실행되는 시점, 즉 런타임(runtime)이 아니라 이전 단계에 먼저 실행된다.

이처럼 변수 선언문이 코드의 선두로 끌어 올려진 것처럼 동작하는 자바스크립트 고유의 특징을 변수 호이스팅(variable hoisting)이라고 한다.

var score;	// 변수 선언
score 80; 	// 값의 할당

변수 선언은 소스코드가 순차적으로 실행되는 시점인 런타임 이전에 먼저 실행되지만 값의 할당은 소스코드가 순차적으로 실행되는 시점인 런타임에 실행된다.

console.log (score);	// undefined

var score;				// 변수 선언
score = 80;				// 값의 할당

console.log(score)		// 80

변수의 선언과 값의 할당을 하나의 문장으로 단축 표현해도 자바스크립트 엔진은 변수의 선언과 값의 할당을 2개의 문으로 나누어 각각 실행한다. 따라서 변수에 undefined가 할당되어 초기화되는 것은 변함이 없다.

console.log(score)		// 2. undefined

score = 80;				// 3. 값의 할당
var score;				// 1. 변수 선언

console.lgo(score)		// 4. 80

💡Tip

변수의 호이스팅이 진행되면 런타임시 순차적으로 소스코드가 실행될 때, 런타임 전에 이미 실행되었기에 다시 실행되지는 않는다

profile
어제 보다는 내일을, 내일 보다는 오늘을 🚀

0개의 댓글