[TIL] Core JavaScript - 데이터 타입

데이터 타입의 종류


자바스크립트의 데이터 타입에는 크게 기본형과 참조형이 있다. 기본형에는 숫자, 문자열, 불리언, null과 undefined가 있고 참조형에는 객체가 있고 배열, 함수, 날짜, 정규표현식 등과 ES6에서 추가된 Map, WeakMap, Set, WeakSet등이 객체의 하위 분류에 속한다.


  1. 기본형 (Primitive type) : 불변값

    • 숫자 (Number)
    • 문자열 (String)
    • 불리언 (Boolean)
    • null, undefined
  2. 참조형 (Reference type)

    • 객체 (Object)
      • 배열 (Array)
      • 함수 (Function)
      • 날짜 (Date)
      • 정규표현식 (RegExp)
      • Map, WeakMap, Set, WeakSet

일반적으로 기본형은 할당이나 연산시 복제되고 참조형은 참조된다고 알려져 있다. 하지만 엄밀히 말하면 둘 모두 복제를 하긴 한다. 다만 기본형은 값이 담긴 주솟값을 바로 복제하는 반면 참조형은 값이 담긴 주솟값들로 이루어진 묶음을 가리키는 주솟값을 복제한다는 점이 다르다.


📝 식별자와 변수

보통 변수(variable)와 식별자(identifier)를 혼용하는 경우가 많은데, 둘의 차이점은 아래와 같다.

  • 변수: 변수의 영어 단어 variable은 원래 ’변할 수 있는 수‘ 라는 형용사이지만 컴퓨터 용어로 쓸 때는 ‘변할 수 있는 무언가’ 라는 명사로 확장시켰다. 여기서 무언가 란 데이터를 말하며 숫자, 문자열, 객체, 배열 모두 데이터에 포함된다.
  • 식별자: 식별자는 어떤 데이터를 식별하는 데 사용되는 이름, 즉 변수명이다.



변수 선언과 데이터 할당


let a = 'abc';
a = a + 'def';

let b = 5;
let c = 5;
b = 7;
  • 변수 a에 문자열 'abc'를 할당했다가 뒤에 'def'를 추가하면 기존의 'abc'가 'abcdef'로 바뀌는 것이 아니라 새로운 문자열 'abcdef'를 만들어 그 주소를 변수 a에 저장한다. 이때 'abc'와 'abcdef'는 완전히 별개의 데이터이다.

좋은 웹페이지 즐겨찾기