값의 할당(assignment)

건둔덕 ·2022년 6월 19일
1

Javascript

목록 보기
2/28
post-thumbnail

값을 할당 할 때에는 할당 연산자인 =를 사용한다. 할당 연산자는 우변의 값을 좌변의 변수에 할당한다.

var num;
num = 1;
// 변수 선언과 값의 할당을 2개의 문으로 나누어 표현


var num = 1;
// 변수 선언과 값의 할당을 하나의 문으로 표현

변수 선언과 값의 할당을 2개의 문으로 나누어 표현한 코드와 변수 선언과 값의 할당을 하나의 문으로 단축 표현한 코드는 정확히 동일하게 작동한다.

즉, 자바스크립트 엔진은 변수 선언과 값의 할당을 하나의 문으로 단축 표현해도 변수 선언과 값의 할당을 2개의 문으로 나누어 각각 실행한다.

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

console.log(num); // undefined

var num; // 변수 선언
num = 1; // 값의 할당

console.log(num); // 1

변수 선언은 런타임 이전에 먼저 실행되고 값의 할당은 런타임에 실행된다. 따라서 num 변수에 값을 할당하는 시점에는 이미 변수 선언이 완료된 상태이며, 이미 undefined로 초기화 되어있다. 따라서 num 변수에 값을 할당하면 num 변수의 값은 undefined에서 새롭게 할당한 숫자 값 1로 변경(재할당)된다.

위의 예시처럼 값을 할당할 때에는 이전 값 undefined가 저장되어 있던 메모리 공간을 지우고 그 메모리 공간에 할당 값 1을 새롭게 저장하는 것이 아니라 새로운 메모리 공간을 확보하고 그곳에 할당 값 1을 저장한다는 점에 주의하면 된다.

profile
건데브

0개의 댓글