변수
- 變(변할 변)數(셈 수) , Variable
위의 의미 그대로, 변할 수 있는 수를 의미 합니다.
변수를 선언 할 때 사용하는 키워드
var, let
var a = 10;
let b = 10;
a = 20;
b = 30;
console.log(a, b)
위의 코드를 실행 시키면, 변수의 값이 마지막에 할당한 값으로 변경되어 있는 걸 볼 수 있습니다.
이렇게 변경 될 수 있는 걸, mutable 이라고 합니다.
변수는 선언 시, 선언과 할당을 동시에도 가능하고, 따로도 가능합니다.
var a;
a = 10;
var b = 20;
let c;
c = 30;
let d = 40;
console.log(a, b, c, d)
let e = 100, f = 200, g = 300;
console.log(e, f, g)
결과:
아래 변수 선언, 할당이 이루어 질 때, 메모리에서 어떤 일이 일어나는 지 확인해보면,
let e = 100;
let f = 200;
e = 300;
- 변수 e 와 값 100이 메모리에 할당 됩니다.
- 값 100의 주소가 x라고 하면, e는 주소 x를 가지고 있습니다.
- e는 주소 x를 가지고 100이라는 값을 가르키게 됩니다.
- e 같은 변수를 포인터 변수라고 합니다.
- 자바스크립트의 모든 변수는 포인터 변수 입니다.
- f와 200도 동일합니다,
- 이 때 e = 300을 하게 되면, 300이라는 값이 메모리에 할당됩니다.
- 이 300의 주소가 x``라고 할 때, e는 x``를 가지게 됩니다.
- 따라서 e가 가르키는 값이 300으로 변경됩니다.
상수
- 常(항상 상)數(셈 수), Constant
위의 변수와는 반대의 의미로, 항상 같은 수를 의미 합니다.
상수를 선언 할 때 사용하는 키워드
const
const c = 10;
c = 20;
위의 코드를 실행 시키면, 상수를 변경할 수 없어 에러가 발생 합니다.
이렇게 변경 될 수 없는 걸, immutable 이라고 합니다.
상수는 변수와 달리 선언과 할당을 분리 할 수 없습니다.
'자바스크립트' 카테고리의 다른 글
[자바스크립트] 배열의 메소드 - splice, slice (0) | 2024.07.28 |
---|---|
[자바스크립트] 배열의 메소드 - push, pop, unshift, shift (0) | 2024.07.20 |
[자바스크립트] 배열 (0) | 2024.07.16 |
[자바스크립트] 변수의 호이스팅과 스코프 (0) | 2024.07.10 |
[자바스크립트] 변수 네이밍 (0) | 2024.07.06 |