TypeScript를 처음 배우기 시작하면 가장 먼저 접하게 되는 개념이 바로 기본 타입(Primitive Types)입니다. JavaScript에서 이미 익숙한 값들이지만, TypeScript에서는 정적 타입 시스템을 통해 더 안전하고 명확하게 사용할 수 있습니다.
string 타입
string은 문자열을 의미하며, 텍스트 데이터를 표현할 때 사용합니다. 작은따옴표('), 큰따옴표("), 백틱(`) 등 어떤 형태든 모두 문자열로 취급합니다.
let username: string = "Alice";
let greeting: string = 'Hello';
let message: string = `Welcome, ${username}!`;
TypeScript에서는 string 타입으로 선언하면 숫자나 객체를 잘못 할당하는 실수를 방지할 수 있습니다.
username = 123; // ❌ 오류 발생
실무에서 string이 자주 쓰이는 대표 예
- 사용자 ID, 이름, 이메일
- 날짜 문자열 처리 (ISO string)
- 로그 메시지, 시스템 알림
- URL, 파일 경로
number 타입
JavaScript의 number는 정수와 실수를 모두 포함하는 하나의 숫자 타입입니다. TypeScript도 동일한 규칙을 따르며, 모든 숫자는 number 타입으로 관리됩니다.
let age: number = 30;
let price: number = 19900.5;
let hex: number = 0xff;
let binary: number = 0b1010;
let octal: number = 0o744;
다른 언어처럼 int, float, double 같은 타입은 존재하지 않습니다.
숫자 타입이 중요한 이유
JavaScript에서는 아래와 같은 문제가 종종 발생합니다.
const result = "10" - 2; // 8 (문자열을 숫자로 암묵 변환)
const wrong = "10" + 2; // "102" (문자열로 연결됨)
TypeScript에서는 number 타입으로 제한하여 이런 예기치 않은 동작을 사전에 차단합니다.
let count: number = "10"; // ❌ 오류 발생
실무에서 number가 활용되는 대표 상황
- 가격, 수량, 점수, 비율
- API 응답(페이지 번호, offset, limit)
- Unix timestamp
- 수학 연산
boolean 타입
boolean은 true 또는 false 두 가지 값만 가지는 논리 타입입니다.
let isLoggedIn: boolean = true;
let isEnabled: boolean = false;
boolean 타입은 조건문, 플래그 설정, 기능 활성화 여부 등에서 매우 자주 사용됩니다.
잘못된 boolean 사용 예
JavaScript에서는 아래와 같이 다양한 값이 암묵적으로 true/false로 평가될 수 있어 오류가 자주 발생합니다.
if ("hello") { } // truthy
if (0) { } // falsy
if ([]) { } // truthy
if (null) { } // falsy
TypeScript는 boolean 타입을 명확히 선언하여 불필요한 실수를 방지할 수 있습니다.
let isActive: boolean = "";
// ❌ 빈 문자열은 boolean으로 허용되지 않음
boolean이 중요한 대표 상황
- 로그인 여부
- API 성공 여부
- UI 요소 표시/숨김
- 권한 검사
타입 안정성(Type Safety)이 왜 중요한가?
JavaScript는 동적 타입 언어이기 때문에 변수에 어떤 타입이 들어오는지 런타임까지 알 수 없습니다. 하지만 TypeScript에서는 타입을 명시적으로 선언하면 아래와 같은 장점이 있습니다.
- 오타나 타입 오류를 컴파일 단계에서 바로 발견
- IDE 자동완성으로 생산성 향상
- 코드 가독성 증가
- 대규모 협업에서 유지보수 비용 감소
즉, 기본 타입을 정확히 이해하는 것은 안정적인 TypeScript 개발의 첫 걸음입니다.
실무에서 자주 쓰는 타입 선언 패턴
let title: string = "상품명";
let price: number = 29900;
let isSoldOut: boolean = false;
// 타입 추론을 활용한 선언
let nickname = "James"; // 자동으로 string
let level = 10; // 자동으로 number
let isAdmin = true; // 자동으로 boolean
TypeScript의 타입 추론은 매우 강력하므로 불필요한 타입 선언을 줄여 코드 가독성과 효율성을 높일 수 있습니다.
요약
| 타입 | 설명 | 예시 |
|---|---|---|
| string | 문자열 | "Hello", `User ${name}` |
| number | 정수/실수/진법 포함 숫자 | 10, 3.14, 0xff, 0b1010 |
| boolean | 논리값 | true / false |
string, number, boolean은 TypeScript에서 가장 기초적인 타입이지만, 안정적인 타입 시스템의 핵심이 되는 중요한 요소들입니다. TypeScript의 장점인 “정적 타입 검사”의 기반이 되기 때문에 반드시 정확하게 이해하고 사용해야 합니다.
'개발 > Typescript' 카테고리의 다른 글
| [TYPESCRIPT] 객체 타입 정의하기 - TypeScript의 구조적 타입 시스템 완전 이해 (0) | 2025.11.23 |
|---|---|
| [TYPESCRIPT] 배열과 튜플 다루기 - TypeScript에서 컬렉션을 안전하게 사용하는 방법 (0) | 2025.11.22 |
| [TYPESCRIPT] tsconfig.json 완벽 가이드 - TypeScript 프로젝트 설정의 모든 것 (0) | 2025.11.20 |
| [TYPESCRIPT] 개발 환경 세팅: Node.js, npm, pnpm, ts-node 설치하기 - TypeScript 프로젝트를 위한 필수 준비 (0) | 2025.11.19 |
| [TYPESCRIPT] TypeScript란 무엇인가? - JavaScript와의 차이점 완전 정리 (0) | 2025.11.18 |
