본문 바로가기
📄Today I Learned

타입스크립트를 사용해야 하는 이유

by 영진학생 2025. 3. 6.

1. Static Type Checking

TypeScript를 사용하는 이유는 여러가지가 있지만,

정적 타입 검사를 통해 잘못된 타입의 데이터가 입력되더라도 미리 방지 할수있기 때문에

코드의 안정성을 높여주고 에러를 줄여주는 것이 큰 장점이라는 것을 배웠다.

 

예를 들어, 밑에 코드를 보면

function greet(name: string): string {
  return `Hello, ${name}!`;
}

greet("Alice"); // 정상 동작
// greet(42); // 컴파일 단계에서 오류 발생: number 타입은 string에 할당할 수 없음

만약 greet 라는 함수에 string 타입이 아닌 number 타입이 들어가더라도

컴파일 단계에서 오류가 발생해서 실제 서비스에서 예상하지 못한 버그가 발생하는 것을 방지 할수 있다.

 

2. 코드의 가독성과 유지보수

변수와 상수에 타입을 명시해주기 때문에 협업을 하는 동료가 코드를 이해하는 데 큰 도움을 줄수있고

언젠가 나중에 내가 작업했던 코드를 다시 볼때 작성한 코드가 어떤 타입을 기대하는지 명확하게 알수있다.

이런 장점 때문에 팀 프로젝트에서 유지보스를 수월하게 할수 있다.

type PersonType = {
	name: string; age: number;
};

let sparta: PersonType = { name: "르탄이", age: 25 }

 

3. 안정성 예시

순수 JavaScript 에서는 동적 타입 시스템 때문에 따로 타입을 명시해주지 않아서

개발자로서 배우기 쉽다는 장점이 있지만 밑에 코드처럼 의도하지 않은 결과가 발생할 수 있다.

function add(a, b) {
  return a + b;
}

console.log(add(10, "20")); // 숫자와 문자열의 덧셈으로 "1020" 출력

 

하지만 TypeScript에서 미리 파라미터에서 타입을 지정한다면??

function add(a: number, b: number): number {
  return a + b;
}

// console.log(add(10, "20")); // 컴파일 단계에서 오류 발생: string 타입은 number 타입에 할당할 수 없다.

TypeScript를 사용하면 타입 관련 오류를 사전에 차단하여 안정적인 코드를 작성할 수 있고 장기적으로 프로젝트의 유지보수에 큰 도움이 된다. Frontend Engineer로서 순수 React나 JavaScript보다 TypeScript를 사용하는 것은 어떻게 보면 필수사항이 아닐까 라는 생각이 든다.