변수는 이름(Label)이 붙은 값이다.
변수명엔 공백을 쓸 수 없음!
아래 코드는 선언에 해당한다.
let myname;
선언이 수행되면, 값을 저장할 수 있는 메모리 주소를 확보하고 변수명(Label)을 붙힌다.
아래 코드는 할당에 해당한다.
myname = 'sehan';
할당이 수행되면, 선언을 통해 확보된 특정 메모리 주소에 값을 저장한다.
우리는 알 수 있듯 할당이 가능하려면 선언이 선행되어야 하며, 선언과 할당이 엄연히 다른 액션이라는 것을 구분할 줄 알아야한다.
보통 프로그래밍에서는 이 선언과 할당을 한 표현식에 동시에 수행한다.
let myname = 'sehan';
표현식은 코드에서 한줄 한줄을 의미한다.
표현식에서 이러한 변수들을 사용할 수 있다.
let pi = 3.141592
pi * 5 * 5;
let radius = 5;
pi * radius = radius;
변수는 동일한 변수를 이용해 대입할 수 있다.
let sum = 1;
sum = sum + 2;
sum = sum + 3;
sum = sum + 4;
// sum == 10;
sum 이라는 변수가 해당하는 메모리 주소는 변하지 않는다.
최초 1번만 변수가 선언되었기 때문에.
sum에 해당하는 값이 여러번 할당되었으며, +가 포함된 표현식이 평가될 때 마다 값이 갱신된다.
변수에는 다양한 타입이 있다.
원시형 primitive
- number (숫자)
- string (문자열)
- boolean (true/false)
자료형 data
- array (배열)
- object (객체)
그 외
- undefined
- function (함수)
특정 변수 또는 값의 타입을 잘 모를 때 확인하고 싶다면 typeof
연산자를 통해 확인 할 수 있다.
console.log(typeof 1);
console.log(typeof '1');
console.log(typeof (1 < 2));
let number = 1;
console.log(typeof number);