Web & App/Backend Study

🧑‍💻 TypeScript 기본 타입 정리 & 실수 줄이는 팁

jimmmy_jin 2025. 7. 3. 19:04

🧑‍💻 TypeScript 기본 타입 정리 & 실수 줄이는 팁

TypeScript는 자바스크립트에 타입 시스템을 더한 언어로, 코드 작성 시 실수를 줄이고 개발 효율을 높여줍니다. 이번 글에서는 TypeScript를 처음 배우는 분들이 꼭 알아야 할 기본 타입과 몇 가지 유용한 개념들을 간단하게 정리해봅니다.


✅ 기본 타입 소개

TypeScript에는 다음과 같은 기본 타입들이 존재합니다:

  • string, number, boolean
  • null, undefined
  • void
  • any, unknown
  • never

🔒 readonly 키워드

const user: { readonly id: number; name: string } = {
  id: 1,
  name: "Jin",
};

readonly를 사용하면 객체의 특정 속성을 수정할 수 없도록 막을 수 있습니다. 불변성을 유지해야 하는 경우 유용하게 쓰입니다.


🔢 배열에서 순서대로 타입 설정 (Tuple)

let userInfo: [string, number];
userInfo = ["Alice", 25]; // ✅

배열의 각 요소에 고정된 타입과 순서를 설정하고 싶다면 **튜플(tuple)**을 사용합니다. 단순 배열보다 타입 보호가 더 강력합니다.


❌ any 타입은 가급적 지양하자

any는 모든 타입을 허용하며, 사실상 자바스크립트와 동일한 효과를 냅니다. 타입스크립트의 이점을 무력화하므로, 특별한 이유가 없다면 사용을 피해야 합니다.

let value: any = "hello";
value = 123; // 타입 검사 없음 😢

❓ 타입을 알 수 없는 경우 unknown

any 대신 unknown을 사용하면 타입 안정성이 높아집니다. 실제로 사용하기 전에는 타입 검사를 강제하므로 안전합니다.

let data: unknown;
data = "hello";

if (typeof data === "string") {
  console.log(data.toUpperCase());
}

🕳️ void 타입

함수가 아무 값도 반환하지 않을 때 사용하는 타입입니다.

function logMessage(msg: string): void {
  console.log(msg);
}

🚫 never 타입이란?

never는 절대 반환되지 않는 함수에 사용합니다. 예외를 던지거나 무한 루프에 들어가는 함수 등이 해당됩니다.

function throwError(): never {
  throw new Error("Something went wrong!");
}

마무리 🎯

TypeScript는 타입을 잘 설계하면 개발자가 더 안전하고 빠르게 일할 수 있게 도와줍니다. any는 피하고, readonly, tuple, unknown 같은 기능을 적극 활용해보세요!