Search
K
Comment on page
📗

Primitive

Definition

초기의, 원시적인 단계의
Primitive에 해당하는 값들은 그 이름의 의미처럼 원시적으로 작동합니다. 아래 자료형들은 Primitive에 해당합니다.
  1. 1.
    String
  2. 2.
    Boolean
  3. 3.
    Number
  4. 4.
    Null
  5. 5.
    Undefined
  6. 6.
    Symbol
원시값의 작동 원리는 매우 간단합니다. 아마 여러분도 이미 잘 알고 계실 겁니다.
// String은 Primitive입니다.
const person1 = "wan";
const person2 = "wan";
const result = person1 === person2;
console.log(result); // ?
원시값의 경우에는 단순하게 생각하시면 됩니다. 값의 "모양"이 같다면, 서로 같은 값입니다. 값의 "모양"이 다르다면, 서로 다른 값입니다. 위의 예제에서 우리는 두 가지 변수를 만들었습니다. person1person2 모두 "wan"이라는 문자열을 담고 있습니다. 그렇기에, 두 가지 변수를 비교한다면 같다고 판별됩니다.
let a = 10;
const b = a;
a = 30;
console.log(b); // ?
위 예제에서 우리는 b라는 변수를 선언하고, a와 동일한 값을 할당해주었습니다. 그리고 a 변수의 값을 변경하였습니다. 과연 b의 값은 무엇일까요?

비유 설명

우리가 변수를 만드는 행위를 포스트잇에 정보를 적는 행위와 같다고 생각해보세요. 다만, 아래와 같은 두 가지 조건이 있습니다.
  • 하나의 포스트잇에는 하나의 원시값만 적을 수 있습니다.
  • 한번 사용한 포스트잇은 재사용하지 않습니다.
let a = 10;
const b = a;
a = 30;
console.log(b); // ?
위 예제 코드를 다시 보자면, 아래와 같다고 할 수 있습니다.
  1. 1.
    a라는 포스트잇에 10이라는 숫자를 적었습니다.
  2. 2.
    b라는 포스트잇에 10이라는 숫자를 적었습니다.
  3. 3.
    새로운 포스트잇에 30을 적고, a 포스트잇으로 사용합니다. (기존 a 포스트잇은 버려집니다.)
  4. 4.
    b 포스트잇에 적힌 글씨를 확인합니다.
이해가 조금 더 되었나요?