본문 바로가기
언어/TypeScript

어째서 타입스크립트인가?

by seacode 2025. 4. 11.

타입스크립트

- JavaScript + Type

- 기존 JS와 다르게 컴파일 과정을 필요로하며, 타입이 부여된 언어.

 

기존 JS라던가 vue.js 등 쉬운 방법이 다양한데도 어째서 타입스크립트를 사용하는 추세인지 알아보자.

 

1. 에러 방지

- 타입이 부여되었기 때문에 에러를 사전에 방지할 수 있다.

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

기존 JS는 타입이 없으므로 sum(a, b) 이렇게 사용했을 것이다.

JS 라면 sum(10, 10) = 20 도 OK. sum("10", "10") = "1010" 도 OK... 뭔가 이상하다.

내가 의도한 용도에서 벗어나지 않도록, 사전에 경고해주는 것이 타입스크립트의 에러 사전 방지 기능이다.

* 기존 JS의 TOP 10 에러 중 8개가 타입 관련 에러였고, 이런 문제는 실서비스에서 크리티컬할 수 있는데... TS기 혜성같이 등장했다.

 

2. 코드 자동 완성

- vsc 의 툴이 타입스크립트로 작성되어 타입스크립트 개발이 최적화 되어있다.

// math.js
function sum(a, b) {
  return a + b;
}
var total = sum(10, 20);
total.toLocaleString();

위와 같은 예시 코드에서, JS의 경우 total.toLo.... 을 작성할 때 자동완성이 되지 않는다.

이유는 당연히 total 이라는 값이 정해져있지 않기 때문이다.

function sum(a: number, b: number): number {
  return a + b;
}
var total = sum(10, 20);
total.toLocaleString();

반면, tsx 는 total 타입이 지정이 되어있으므로 자동완성이 지원된다.

 

 

이외에도 많은 이유로 FE에서 TypeScript 를 도입했고, 우리 파트에서도 FE 단에서는 타입스크립트 + a 를 도입하기로 했다.

기존 JS의 상위 확장자로써... 기존 JS 스크립트들도 무리없이 컴파일 시켜 실행이 가능하므로 도입하지 않을 이유가 없었다.

'언어 > TypeScript' 카테고리의 다른 글

Union Type, Intersection Type  (0) 2025.04.14
enum 자료형  (0) 2025.04.13
인터페이스  (0) 2025.04.13
함수  (0) 2025.04.11
기본 타입  (0) 2025.04.11