변수(Variable)
변수는 한 마디로 '데이터 보관함'이다!
수학에서 변수는 '변할 수 있는 수'를 의미한다. 이를 컴퓨터 개념으로 좀 더 확장해서 생각해보면, 변수는 '변경할 수 있는 데이터'로 이해할 수 있다. 여기서 데이터는 string, object, array... 등 어떤 타입도 가능하다. 변수는 가장 기초적인 개념이라 그냥 넘어가기 쉽지만, Javascript에 대해 좀 더 깊게 알아갈수록 변수의 동작 원리와 관련된 복잡한 개념들을 마주하게 되는 것 같아서 차근차근 다시 정리해 보았다.
변수는 기본적으로 다음과 같이 선언한다. 이 예시를 말로 설명하면 ' 변할 수 있는 데이터를 만들고자 하는데(let), 이 데이터의 주소 이름는 apple로 할거다' 라는 뜻이다. 이것이 변수를 '선언'하는 과정이다. 선언을 하는 순간 컴퓨터는 메모리에 빈 공간 하나를 확보한다.
let apple;
더 나아가 아래의 예제를 살펴보자. 이번에도 말로 풀어 설명하면, 'apple 이라는 이름을 가진 주소에, 3이라는 데이터를 저장할거다' 라고 할 수 있다. 이것이 데이터를 변수에 '할당'하는 과정이다. 할당 명령을 하면 컴퓨터는 apple이라는 주소를 검색해 그곳에 3이라는 데이터를 할당한다. 사실 이 데이터를 직접 저장하는 것은 아니고, 다른 곳에 데이터를 저장하고 그곳의 주소만 저장하는 것인데 이 개념은 Data Type과 관련된 부분에서 좀 더 알아보도록 하자.
apple = 3;
이런식으로 쓰면 어떤 의미일까? ' 변할 수 있는 데이터를 만들고자 하는데(let), 이 데이터의 주소명은 apple로 할거다. 그리고 그 주소에, 3이라는 데이터를 저장할거다' 이다. 변수는 위에서 처럼 선언을 하고 할당을 할 수 있으며, '선언과 할당을 동시에' 할 수도 있다. 여기서 주의할 점은 '='는 '같다'라는 뜻이 아니라 '대입'을 의미한다는 것이다!
let apple = 3;
이렇게 보면, 결국 변수는 변경 가능한 데이터들이 담길 수 있는 '공간'을 의미한다고 표현할 수 있다. 변수는 데이터 자체를 의미하는 것이 아니라, 데이터를 담는 보관함이나 그릇같은 공간인 것이다.
추가로, 좀 더 엄밀히 말하면 apple이라는 이름은 변수가 아니라 '식별자(identifier)'이다. 식별자는 데이터를 식별하는 데 쓰는 '이름', 즉 변수명을 의미한다. 변수는 데이터가 담기는 '공간'을 의미하기 때문에 둘은 정말 엄밀히 따지면 다르다고 할 수 있다. 하지만 문맥상 섞어서 써도 다들 이해하기 때문에 문제가 되지는 않는다. 그냥 차이 정도만 알아두자!
✔️ 변수(variable) = 공간
✔️ 식별자(identifier) = 공간의 이름 (변수명)
그 외 변수의 특징들
✔️ 변수는 동일한 변수를 이용해 대입할 수 있다.
단, 한 번 선언한 변수를 다시 사용할 때는 let을 사용하지 않는다.
let sum = 1;
sum = sum + 2;
✔️ 변수에 할당이 되지 않은 경우, '정의되지 않았다'는 뜻의 'undefined'로 지정된다.
let myname;
// undefined
✔️ 변수에는 다양한 Type이 있다.
- ex) Number, String, Boolean, 배열, 객체, undefined, 함수
'Language > Javascript' 카테고리의 다른 글
Primitive Type(원시 자료형), Reference Type(참조 자료형) (2) | 2020.12.16 |
---|---|
parseFloat, Number의 차이점 (1) | 2020.12.10 |
정규표현식(Regular Expression), match (0) | 2020.12.10 |
문자열 관련 메서드 (0) | 2020.12.10 |
기억해야 할 6가지 falsy 값 (0) | 2020.12.10 |
댓글