728x90
728x90

할당 연산자

변수에 값을 할당(assignment, 대입 ,저장) 할 때는 할당 연산자 =을 사용한다.

우변의 값을 좌변의 변수에 할당한다

var score;
score = 80;

변수 선언과 값의 할당을 다음과 같이 하나의 문으로 단축할수도 있다

var score = 80;

변수 선언과 할당을 2개의 문으로 나눌수도 있고, 하나의 문으로 단축할수도 있다.

→ 둘 다 똑같이 동작한다

 

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

 

  • 예시를 들어보자
console.log(score);

var score;
score = 80;

console.log(score);

변수 선언 : 런타임 이전에 먼저 실행됨

값의 할당 : 런타임에 실행됨

→ score 변수에 값을 할당하는 시점에는 이미 변수 선언이 완료된 상태이며, 이미 undefined로 초기화되어 있다.

score 변수에 값을 할당하면 score 변수의 값은 undefined에서 새롭게 할당한 숫자 값 80으로 변경(재할당)

→ 변수 선언과 값의 할당을 하나의 문으로 단축 표현할 수도 있으므로 동작 예시를 보자면

console.log(score);

var score = 30;
console.log(score);

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

  • 변수에 값을 할당할 때:

→이전 값 undefined가 저장되어 있던 메모리 공간을 지우고 그 메모리 공간에 할당 값 80을 새롭게 저장하는 것이 아니라 새로운 메모리 공간을 확보하고 그곳에 할당 값 80을 저장한다는 점을 주의할것,

728x90
300x250

+ Recent posts