모던자바스크립트 Deep Dive 04장 변수

como's·2023년 1월 8일
0

본 글은 Python, C, C++, Java를 배운 상태에서 작성하는 글입니다...
그래서 아는 내용(??) 아니 안다고 생각하는 내용(!!)들은 제외하고 모던자바스크립트 Deep Dive에서 JavaScript에 대해 새롭게 알게 된 내용만 정리하도록 하겠습니다...!!

변수란 무엇인가? 왜 필요한가?

Python, C, Java까지 배운 나 자신... 변수가 뭔지 안다고 생각했는데 이번 학기에 C++ 수업을 들으면서 변수가 정확하게 무엇인지도 모르고 있다는 게 밝혀졌다...(두둥!!!)

그래서!! 이번에 JavaScript 공부하면서 다시 한 번 정리하고 넘어가야겠다..

변수(variable)

하나의 값을 저장하기 위해 확보한 메모리 공간 그 자체 또는 메모리 공간을 식별하기 위해 붙인 이름

변수 선언

변수 선언

값을 저장하기 위한 메모리 공간을 확보하고 변수명과 확보된 메모리 공간을 연결해서 값을 저장할 수 있도록 하는 것

변수를 사용하려면 반드시 선언이 필요
변수를 선언할 때는 var, let, const 키워드를 사용

var score;

C나 C++, Java 등에서는 위처럼 변수 초기화 없이 변수 선언만 하면 해당 변수의 메모리 공간에는 쓰레기값(garbage value)이 들어갔는데요...


하지만....!!!!!!!!!!!!!! JavaScript는 조금 다릅니다...


JavaScript에서는 변수 초기화 없이 변수 선언만 해도!!! 해당 변수의 메모리 공간에는 자바스크립트 엔진에 의해 undefined라는 값이 암묵적으로 할당되어 초기화 된다는 사실!!
다들 알고 계셨나요??ㅎㅎ
(저는 이번에 처음 알았답니다....😅 JavaScript 공부를 하기는 했는데 너무 간ㄹㅑㄱ하게만...알았던 걸로....)


암튼 그렇다고 합니다. undefined에 대해서는 뒷편에서 다루는 걸로...

자바스크립트 변수 선언 단계

자바스크립트 변수 선언 단계는 2단계로 이루어져 있는데요.

  • 선언 단계: 값을 저장하기 위한 메모리 공간을 확보하고 확보된 메모리 공간을 연결해서 값을 저장할 수 있도록 한다.
  • 초기화 단계: 확보된 메모리 공간에 암묵적으로 undefined를 할당해 초기화한다.

위 JavaScript 코드에서 var 키워드가 나왔으니 간략하게 설명하고 넘어가도록 합시다.

var 키워드

var 키워드를 사용한 변수 선언은 선언 단계와 초기화 단계가 동시에 진행

변수 선언의 실행 시점과 변수 호이스팅

내일 다시 편집해서 올리도록 하겠습니다!😉

profile
안녕하세요! 초보 개발자 como's입니다.

0개의 댓글