자바스크립트의 유연성은 장점이지만 치명적인 단점이 되기도 한다.
타입스크립트는 유연한 자바스크립트에 제약을 주어서 단점을 보완하는, 자바스크립트의 확장판이다.
이걸 쓰는 이유는 1. 사람의 실수를 줄이고, 2. 빠르게 개발할 수 있기 때문이다.
우선 타입스크립트는 어떻게 사람의 실수를 줄일까?
아래 예시를 보자.

howManyApples라는 함수가 있다.
타입 상관없이 2개의 인자를 받아와서 둘을 더하고 출력한다.
6번째 줄과 같이, 모든 개발자들이 처음 만든 개발자의 의도에 맞게 사용한다면 타입스크립트는 필요없다.
하지만 우리는 사람이기 때문에 실수를 한다.
7번째 줄은 숫자와 문자열을 인자로 넘긴다.
결과는 "숫자와 문자열을 더할 경우, 숫자를 문자열로 바꿔서 더한다" 이므로 132라는 이상한 결과가 나온다.
이런 실수가 생기는 이유는 자바스크립트가 타입에 너무나도 관대하기 때문이다.
만약 타입스크립트를 쓴다면 어떻게 될까?

매개변수 정의한 부분을 보면 ": number"를 각각 추가했다.
그러면 숫자만 인자로 보낼 수 있기 때문에 7번째 줄에 빨간줄이 쳐진다.
실수할 뻔한 한 개발자는 이로써 위기를 모면했다!
타입스크립트는 이렇듯 실수를 줄일 수 있다.
타입스크립트는 또한 빠르게 개발할 수 있다.
왜 빠르게 개발할 수 있을까?

SumApples는 두 숫자를 더하는 함수이다.
타입스크립트를 이용해서 두 인자를 숫자로 정의했기 때문에 IDE가 SumApples의 반환값의 타입을 숫자로 예측한다.
반환값의 타입을 숫자로 예측했기 때문에, 아래와 같이 숫자의 메서드인 toFixed가 추천으로 뜬다.

이게 바로 타입스크립트이다.
실수도 줄이고, 빠르게 개발할 수 있는!
타입스크립트를 쓰지 않는다면 큰 손해다 ㅠ
다만 NPM에 대한 이해도 필요하고, 타입에 대한 이해도 필요하니 대규모 프로젝트에는 적용하기 어려울 수 있다.
그러면 JSDOC이라는 타입스크립트 대체제를 이용해보는 것도 고려해보자!
'typescript' 카테고리의 다른 글
| enum (1) | 2025.08.14 |
|---|---|
| type vs. interface (0) | 2025.08.14 |
| 타입스크립트 "인터페이스" (1) | 2025.08.12 |
| 타입스크립트의 "타입 지정하기" (1) | 2025.08.11 |
| npm에서 타입스크립트를 설치해야하는 이유 (1) | 2025.08.10 |