typescript
최근 JavaScript의 인기가 계속 높아지고 있지만, 막상 실무에서 순수 JavaScript만 사용하면 여러 가지 고민이 생깁니다. 코드가 커지면 어떤 변수가 어떤 타입인지 헷갈릴 때가 생깁니다. 게다가 "런타임"에서야 알 수 있는 오류를 매번 찾아 고치는 건 정말 힘들어요. 바로 이런 문제를 해결해 주는 것이 오늘 소개할 TypeScript입니다.
오늘 포스팅에서는 TypeScript를 왜 사용하는지, 기본 타입이 무엇인지, 그리고 간단한 예시와 함께 실무에 바로 적용할 수 있도록 핵심을 정리해보겠습니다.
TypeScript는 간단히 말하면 JavaScript의 업그레이드 버전이라고 볼 수 있습니다. 마이크로소프트가 개발한 오픈 소스 프로그래밍 언어이며, JavaScript에 "정적 타입(Static Typing)"이라는 개념을 추가한 것이 특징입니다.
JavaScript는 변수를 선언할 때 타입을 지정하지 않아도 되죠. 그래서 자유로운 코딩이 가능하지만, 그만큼 오류를 찾기 어렵고 코드가 복잡해지면 유지보수가 힘들어집니다.
반면 TypeScript는 "코드를 작성할 때 미리 타입을 지정"하여, 개발자가 실수를 일찍 발견하도록 도와줍니다. 이것이 바로 TypeScript를 사용하는 가장 큰 이유입니다. 또한 타입이 명확하기 때문에 코드가 더 읽기 쉽고, 큰 규모의 프로젝트에서도 안정적인 코드 관리가 가능합니다.
TypeScript에서는 다양한 타입을 제공하는데, 기본적인 타입부터 먼저 살펴보겠습니다.
JavaScript와 마찬가지로, TypeScript에서도 숫자를 다루기 위해 사용하는 타입입니다. 정수, 실수 모두 포함하며 사용법은 매우 간단합니다.
let count: number = 10
let price: number = 299.99
문자열 타입입니다. 텍스트 데이터를 저장할 때 사용되며, JavaScript의 문자열과 동일하게 큰따옴표(
let userName: string = 'Hanpy'
let greeting: string = `Hello, ${userName}!`
참(true) 또는 거짓(false)을 나타내는 타입입니다. 조건문이나 로직 제어에 많이 쓰이죠.
let isLoggedIn: boolean = true
기본 타입 외에 TypeScript가 제공하는 독특하고 특별한 타입들도 살펴봅시다.
let randomValue: any = 10
randomValue = 'text' // 아무 타입이나 할당 가능
let userInput: unknown
userInput = 'TypeScript'
if (typeof userInput === 'string') {
let message: string = userInput // 타입 검사 후 사용 가능
}
반환 값이 없는 함수의 반환 타입으로 사용됩니다. 주로 함수에서 사용되며, 명시적으로 반환 값이 없음을 나타냅니다.
function logMessage(): void {
console.log('Hello, TypeScript!')
}
절대 반환되지 않는 함수의 반환 타입으로 사용합니다. 오류를 던지거나, 무한 루프를 돌 때 활용합니다.
function throwError(message: string): never {
throw new Error(message)
}
이 타입들은 간단해 보이지만 올바르게 사용할 때 코드의 안전성을 크게 높일 수 있습니다.
TypeScript를 사용하면 코드의 품질과 안정성이 크게 올라갑니다. 특히 정적 타입을 통해 런타임 에러를 줄이고, 개발 단계에서 실수를 빠르게 찾을 수 있습니다. 오늘은 그 첫걸음으로 기본 타입들과 특별한 타입들을 살펴보았습니다.