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
'2023 공부한것들' 카테고리의 다른 글
[4-7] 식별자 네이밍 규칙 (0) | 2023.06.30 |
---|---|
[4-6] 값의 재할당, 가비지 콜렉터, 언매니지드언어/매니지드 언어 (0) | 2023.06.30 |
[4-4] 변수 선언의 실행 시점과 변수 호이스팅 (0) | 2023.06.29 |
[4-3] 변수 선언 (1) | 2023.06.28 |
[코딩애플 html/css] 11강: position과 좌표 레이아웃 만들기 (0) | 2023.06.28 |