[TypeScript] 기본, 원시, 리터럴 타입

ttining·2025년 3월 7일

기본 타입 (Basic Type)

타입스크립트의 대표적인 기본 타입은 다음과 같다.

1️⃣ number

숫자 타입 (정수, 실수, NaN, Infinity 포함)

let num: number = 10;
let pi: number = 3.14;
let nan: number = NaN;

2️⃣ string

문자열 타입

let str: string = "Hello, TypeScript!";

3️⃣ boolean

참/거짓을 나타내는 타입

let bool: boolean = true;

4️⃣ null

값이 없음을 나타내는 타입

let empty: null = null;

5️⃣ undefined

정의되지 않은 값을 나타내는 타입

let notAssigned: undefined = undefined;

6️⃣ bigint

큰 정수를 다루는 타입

let big: bigint = 9007199254740991n;

7️⃣ symbol

유일한 값을 생성하는 타입

let uniqueKey: symbol = Symbol("key");


원시 타입 (Primitive Type)

원시 타입은 값이 변경될 수 없는(immutable) 타입이며,
기본 타입과 거의 동일하다.

원시 타입설명
number숫자 (정수, 실수, NaN, Infinity 포함)
string문자열
boolean논리값 (true, false)
null값이 없음
undefined정의되지 않음
bigint큰 정수를 다룰 때 사용
symbol유일한 값을 생성


리터럴 타입 (Literal Type)

리터럴 타입은 특정한 값을 가지는 타입을 의미한다.
정확한 값만 허용하는 특징이 있다.
즉, 특정 문자열이나 숫자만 허용하고, 그 외의 값은 허용되지 않는다.

1️⃣ 문자열 리터럴

let direction: "left" | "right" | "up" | "down";

direction = "left";  // ✅ 허용
direction = "right"; // ✅ 허용
direction = "center"; // ❌ 오류: "center"는 허용되지 않음

2️⃣ 숫자 리터럴

let statusCode: 200 | 400 | 404 | 500;

statusCode = 200;  // ✅ 허용
statusCode = 403;  // ❌ 오류: 403은 허용되지 않음

3️⃣ 불리언 리터럴 타입

let isActive: true;

isActive = true;  // ✅ 허용
isActive = false; // ❌ 오류: false는 허용되지 않음

4️⃣ 리터럴 타입과 유니온 타입

리터럴 타입은 보통 유니온 타입(|)과 함께 사용되어,
특정 값들만 허용하는 방식으로 사용된다.

type ButtonSize = "small" | "medium" | "large";

function setButtonSize(size: ButtonSize) {
  console.log(`버튼 크기: ${size}`);
}

setButtonSize("medium");  // ✅ 정상 실행
setButtonSize("x-large"); // ❌ 오류: "x-large"는 ButtonSize 타입이 아님
profile
내가 보려고 만든 벨로그 *'-'*

0개의 댓글