[JavaScript 기본] 자료형(원시 타입) 정리

2025. 10. 28. 11:59·React/JavaScript 기본

`JavaScript`의 자료형은 크게 원시 타입과 객체(참조) 타입으로 나뉨

이번 글에서는 원시 타입을 중심으로 정리함

자료형 종류


원시 타입(Primitive Type)이란?

  • 하나의 값만 저장할 수 있고, 값 자체가 복사되는 타입

즉, 메모리 상에서 독립된 값으로 저장되며, 복사해도 서로 영향을 주지 않음

원시 타입에는 총 7가지가 있음

Number, String, Boolean, Null, Undefined, Symbol, BigInt

1. Number 타입

  • 숫자를 표현하는 타입으로, 정수와 실수를 모두 포함
let num1 = 28;     // 정수
let num2 = 1.5;    // 실수
let num3 = -20;    // 음수

// 사칙연산 가능
console.log(num1 + num2);
console.log(num1 - num2);
console.log(num1 * num2);
console.log(num1 / num2);
console.log(num1 % num2); // 나머지 연산 (mod 연산)

// 특수 숫자 값
let inf = Infinity;    // 무한대
let mInf = -Infinity;  // 음의 무한대
let nan = NaN;         // 수치 연산 실패 시 결과값 (Not a Number)

 

주의할 점은

`NaN`은 "숫자가 아님"을 의미하지만 `Number` 타입임.

typeof NaN; // "number"

2. String 타입

  • 문자 데이터를 표현하는 타입
  • 작은 따옴표(''), 큰 따옴표(""), 백틱(``) 모두 사용 가능
let myName = "이도서";
let myLocation = "경기";

// 문자열 연결
let introduce = myName + myLocation; // "이도서경기"

// 템플릿 리터럴 (백틱 ` 사용)
let introduceText = `${myName}은 ${myLocation}에 거주합니다`;
console.log(introduceText);

템플릿 리터럴 장점

  • 변수나 표현식을 `${ }`안에 바로 넣을 수 있음
  • 여러 줄 문자열 작성 가능
let text = `
안녕하세요!
저는 ${myName}이고,
${myLocation}에 살고 있습니다.
`;

3. Boolean 타입

  • 논리형(true / false) 값을 저장하는 타입
let isSwitchOn = true;
let isEmpty = false;

 

조건문에서 자주 사용함

if (isSwitchOn) {
  console.log("스위치가 켜졌습니다!");
}

4. Null 타입

  • "아무것도 없다"를 명시적으로 표현할 때 사용함
let empty = null;

 

주의할 점은

  • 개발자가 직접 "비워둔다"는 의미로 사용
  • 하지만 `typeof null`은 버그 때문에 `object`로 나옴
typeof null; // "object"

5. Undefined 타입

  • "값이 아직 정의되지 않음"을 의미함
let none;
console.log(none); // undefined

 

`Null`이랑 `Undefined`의 차이점?

구분 의미 누가 넣나 예시
`null` "비어 있음" 개발자가 직접 `let a = null;`
`undefined` "아직 값 없음" JS가 자동 할당 `let a;`

6. Symbol 타입 

  • 유일한 식별자를 만들 때 사용되는 타입
const key1 = Symbol('id');
const key2 = Symbol('id');

console.log(key1 === key2); // false (항상 고유함)

 

활용방법?

  • 객체의 숨겨진 프로퍼티 키 만들 때 사용

7. BigInt 타입

  • 아주 큰 정수를 다룰 때 사용 (Number 한계를 넘는 수)
const big = 1234567890123456789012345678901234567890n;
console.log(big + 10n);
  • `BigInt` 리터럴은 끝에 `n`을 붙임.

마무리 요약

  • JS는 동적 타입 언어 → 변수에 어떤 타입이든 들어올 수 있음
  • `null`과 `undefined`는 다름 (명시적 vs 자동 할당)
  • `Symbol`, `BigInt`는 ES6 이후 추가된 최신 타입

'React > JavaScript 기본' 카테고리의 다른 글

[JavaScript 기본] 반복문  (0) 2025.10.29
[JavaScript 기본] 조건문 정리  (0) 2025.10.29
[JavaScript 기본] 연산자 정리  (0) 2025.10.29
[JavaScript 기본] 형 변환 (Type Casting) 정리  (0) 2025.10.28
[JavaScript 기본] 변수와 상수 정리  (0) 2025.10.27
'React/JavaScript 기본' 카테고리의 다른 글
  • [JavaScript 기본] 조건문 정리
  • [JavaScript 기본] 연산자 정리
  • [JavaScript 기본] 형 변환 (Type Casting) 정리
  • [JavaScript 기본] 변수와 상수 정리
이도서
이도서
  • 이도서
    도서의 코딩노트
    이도서
  • 전체
    오늘
    어제
    • 분류 전체보기 (249)
      • Today I Learned (79)
        • 2024 (78)
      • Swift (25)
        • Swift 문법 정리 (19)
        • RxSwift (5)
      • Swift Study (12)
        • Playground (2)
        • Storyboard (9)
        • UIKit (1)
      • Flutter (27)
        • Dart 언어 (16)
        • Flutter Study (11)
      • React (37)
        • HTML & CSS (8)
        • JavaScript 기본 (12)
        • JavaScript 심화 (14)
        • Node.js (2)
        • React (1)
      • Git (3)
      • 코딩테스트 (60)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • 개발 공부 공유 링크
  • 인기 글

  • 태그

    코딩테스트 level.1
    function
    Swift
    storyboard
    객체지향
    Til
    React
    CLASS
    javascript 기본
    내일배움캠프
    함수
    html
    DART
    Flutter
    코딩테스트
    iOS앱개발
    ios
    코딩테스트Level.1
    javascript
    ios앱개발자
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
이도서
[JavaScript 기본] 자료형(원시 타입) 정리
상단으로

티스토리툴바