쓰윽터디/JavaScript

[모던 자바스크립트] 4장 프로그래밍

Kkan 2023. 6. 20. 22:12
728x90
반응형

* 본 블로그 글은 모던 자바스크립트를 읽으며 진행했음을 밝힙니다.

* 개인적인 공부 기록용이, 상업적으로 사용하지 않으며 문제가 있을 시 즉시 글을 내리도록 하겠습니다.

 

4장 변수

 

1. 변수란?

쉽게 말해 값의 이름이다.

🍖 하나의 값을 저장하기 위해 확보한 메모리 공간 자체.

🍖 그 메모리 공간을 식별하기 위해 붙인 이름.

 

2. 왜 필요한가?

개발자가 직접 메모리 주소를 통해 값을 저장하거나 사용하지 않고,

안전하게 변수를 통해 접근 할 수 있기 때문에 필요하다.

 

3. 식별자

어떤 값을 구별해서 식별할 수 있는 고유한 이름

🍖 변수 이름이라고도 한다.

 

4. 선언

변수를 사용하려면 선언을 꼭 해야한다.

이때, var / let / const 를 사용한다.

🍗 var : 그냥 쓰지말자. 여러가지 단점이 존재하는 오리지널 변수 선언 방법이다. (추후에 설명이 나온다.)

🍗 let / const : ES6 부터 도입된 선언 방법이다. 권장 또 권장한다.

🍗 그렇다고 var가 쓰이지 않는 것은 아니다. 

🍗 아직도 쓰이는 사실이 마음 아프다.

 

var score;

🍗 자바스크립트 엔진을 2단계에 걸쳐 변수 선언을 수행한다.

🍙 선언단계: 변수 이름을 등록해서 자바스크립트 엔진에 변수의 존재를 알린다.

🍙🍙 초기화 단계: 값을 저장하기 위한 메모리 공간을 확보하고, 암묵적으로 undefined를 할당해 초기화한다. 

 

5. 호이스팅

앞서 설명했듯이 자바스크립트는 선언 후 초기화를 거친다.

그 이후에 값을 할당하게 되는데, 이때 호이스팅이라는 개념이 등장한다.

console.log(score);

var score;

🥩 이 코드를 실행시키면 뭐가 나올까?

🥩 놀랍게도 console.log에는 undefined가 찍힌다.

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

 

6. 값의 할당

// 변수 선언
var score;

// 값의 할당
score = 80;

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

🍠 주의할 점이 있다.

🍠 변수 선언은 소스코드가 순차적으로 실행되는 시점인 런타임 이전에 실행된다.

🍠 하지만 값의 할당은 소스코드가 순차적으로 실행되는 시점인 런타임에 실행된다.

 

7. 값의 재할당

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

// 재할당
score = 90;

🥟 보통 var와 let은 이렇게 재할당한다.

🥟 재할당 할 수 없는 것은 변수가 아니라 상수라고 한다. 보통 const로 선언한다.

 

8. 네이밍 규칙

별거 없다. 잘 알아볼 수 있게 만들면 된다.

🥠 특수문자를 제외한 문자, 숫자, _, $ 를 포함할 수 있다.

🥠 다만 숫자로 시작하면 안된다.

🥠 예약어는 사용할 수 없다. 

🥠 예약어란, 프로그래밍 언어에서 사용되고 있는 단어를 말한다.

🥠 이외에도 maxScore 같은 카멜케이스, max_score 같은 스네이크 케이스가 있다.

 

 

- 끝! -

728x90
반응형