변수?

Shawn·2025년 11월 8일

JavaScript

목록 보기
4/8
post-thumbnail

1. 변수(Variables)란?

애플리케이션은 데이터를 다룬다.
아무리 복잡한 애플리케이션이라 해도, 데이터를 입력(Input)을 받아 처리하고, 그 결과를 출력(Output)하는 것이 전부이다.

변수는 프로그래밍 언어에서 데이터를 관리하기 위한 핵심 개념이다.

예시로 아래와 같이 자바스크립트 코드가 있다면,

10 + 20

사람은 위 식을 계산한다고 하면,
1. 10, 20, + 기호를 일단 알아야 하고 식의 의미 또한 해석
할 수 있어야 한다.
2. 10과 20을 + 기호의 덧셈을 하기 위해 두뇌에 기억한다.
그리고 10과 20을 더한 결과인 30도 기억한다.

컴퓨터에서 위 식을 계산한다고 하면,
1. 자바스크립트를 해석하고 실행하는 자바스크립트 엔진도
사람과 유사하게 위 자바스크립트 코드를 실행한다.
2. 코드를 계산(또는 평가)하려면 먼저 10, 20, +라는
기호(리터럴과 연산자)의 의미를 알고 있어야 한다.
3. 10 + 20 이라는 식(표현식)의 이미도 해석(파싱)할 수 있어야 한다.

자바스크립트 엔진이 10+20 이라는 식의 의미를 해석하려면
+연산을 수행하기 하기 전, 좌변과 우변의 숫자 값,
피연산자(operand)를 기억한다.

사람은 계산과 기억 모두 두뇌에서 하지만 컴퓨터는 연산과 기억을
수행하는 부품이 나뉘어져 있다.

컴퓨터는 CPU를 사용해서 연산하고, 메모리를 사용해서 데이터를 기억한다.

메모리가 무엇이길래?
메모리는(Memory)는 데이터를 저장할 수 있는 셀(Memoru Cell)의 집합체이다.
메모리 셀 하나의 크기 = 1Byte(8Bit)이다. 컴퓨터는 메모리 셀의 크기,
즉 1바이트 단위로 데이터를 저장하거나 읽어들인다.

각 셀은, 고유의 메모리 주소(Memory Address)를 갖는다.

컴퓨터는 모든 데이터를 2진수로 처리한다. 따라서 메모리에 저장되는
데이터는 데이터의 종류(숫자, 텍스트, 이미지, 동영상 등)와 상관없이
모두 2진수로 저장이 된다.

정리하자면?
변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체
그 메모리 공간을 식별하기 위해 붙인 이름을 뜻한다.

쉽게 말해 프로그래밍 언어에서 값을 저장하고 참조하는 메커니즘으로,
값의 위치를 가르키는 상징적인 이름이다.

2. 변수 선언

JavaScript에서는 let 키워드를 사용해 변수를 선언할 수 있다.

 // let 변수 이름 = 값
 let initialValue = 4
 
 // 한글로 작성한 변수 이름
 let 초기로_가지고_있는_값 = 4

변수 선언 시, 작성 해야 할 부분은 아래와 같다.
1. 키워드 let
2. 변수 이름 variableName
3. 할당(대입) 연산자 =
4. 값 4

3. 변수 이름

변수는 의미있는 코드를 사용하기 위해 사용된다.
그러므로 변수 이름은 의미있게 작성해야 한다.

initialValue는 변수 이름이다.
다음 규칙을 따르는 이름을 의미있게 지을 수 있다.
1. 변수 이름은 연결된 한 단어로 작성되어야 한다.
2. 알파벳(a-z, A-Z), 숫자(0-9), 그리고 _, $ 등의 기호로 구성되야 한다.
3. 변수 이름을 숫자로 시작하면 안된다. 규칙 위반이라 오류가 발생한다.
4. 변수 이름으로 예약어(Reserved words)는 사용할 수 없다

4. 값(Value)

값(value)은 변수에 기억하는 값이다.
기본형(문자열, 숫자 등)이거나 객체형(배열, 함수 등)일 수 있다.
변수 값을 할당하지 않을 경우 기본값은, undefined가 된다.

5. 할당(대입) 연산자

JavaScript에서 등호(=) 기호는 수학에서처럼 작동하지 않는다.
이 점에서 헷갈릴 수 있으니, 아래를 보고 기억하자

// 수학에서 x는 7이다. (같다)
x = 7

// 자바스크립트에서 변수 x에 7을 할당(대입)한다.
let x = 7

JavaScript에서 등호(=)기호는 할당(assignment)를 의미한다.

let initialValue = 4
console.log(initialValue) // 4, 변수에 기억된 값을 출력한다.

6. 평가

변수는 단 하나의 값만 기억을 할 수 있다.
오른쪽에서 계산해야 하는 방정식이 있을 경우, 변수에 할당하기 전에
먼저 계산을 해야한다.
평가가 필요한 방정식을 JavaScript에서는 "표현식(expression)"
이라고 불린다.

방정식이란?
방정식은 알 수 없는 값이 포함된 수식을 등호(=)를 사용해 표현한 식을 뜻함
즉, 어떤 값을 찾기 위한 수학적인 문장이다.

7. Var 변수와 Const 상수

var 키워드를 사용한 변수는 2015년 이전에 변수를 작성할 때 사용되었다.
오늘날에는 사용이 권장되지 않는다.

이유는, var 변수의 범위는 let 변수의 범위와 다른데, 현 시점에서는
아직 어렵게 느껴질 수 있다.

향후에 스코프(Scope), 호이스팅(Hoisting) 등을 공부할 때
다시 보도록 한다.

var initialValue = 4
var applesToValue = 27

var totalValue = initialValue + applesToValue

JavaScript에서 변수를 선언할 때 사용되는 키워드는,
let, var, const 이렇게 3가지로 이용하여 변수를 선언해서 사용한다.

3개 키워드를 모두 변수를 선언하지만,
그 중 const 키워드는 상수(constant)를 선언할 때 사용된다.

const initialValue = 4
const applesToValue = 27

const totalValue = initialValue + applesToValue

const VS. let
변수를 선언할 때, const를 사용하면 상수(변하지 않는 수)가 되므로,
새 값을 할당할 수 없다.
변수 let 키워드를 사용해 변수를 선언하면 새로운 값을 할당 가능하다.

let은 "변수", const는 "상수"를 선언할 때 각각 사용한다.
const를 사용한 변수는 다른 값으로 다시 할당되지 않는 것을 보장하므로
처음 할당된 값 이외의 다른 값으로 대체되어야 하지 않을 때 유용하다.

결론

  • 변수란 데이터의 값 위치를 가르키는 상징적인 이름이다.
  • 변수를 사용하면 의미있는 코드를 작성할 수 있다.
  • 변수는 데이터 값을 기억하는데 사용된다.
  • 등호(=) 기호는 할당(같음을 의미하지 않음!)을 의미한다.
  • 변수 이름에 예약어(Reserved words)를 사용될 수 없다.
  • var 키워드는 더 이상 사용하지 않는걸 권장한다.
  • 변수는 let으로 선언, 상수는 const로 선언한다.

출처

모던자바스크립트 - 변수

profile
기억하기 보단, 기록하는 개발자로 나아가고 있습니다

0개의 댓글