[TYPESCRIPT] 기본 타입 소개 - string, number, boolean 완벽 이해하기

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의 장점인 “정적 타입 검사”의 기반이 되기 때문에 반드시 정확하게 이해하고 사용해야 합니다.