TypeScript를 사용하는 이유

Chaeyun·2023년 1월 9일
1
post-thumbnail

타입스크립트란?

변수 타입을 명시적으로 지정해서 사용하는 자바스크립트.

왜 타입스크립트를 사용하는가?

타입스크립트는 정적 타입을 지원한다. 자바스크립트는 동적 타이핑(Dynamic Typing)을 한다.
이 둘의 차이는 무엇이냐면

const message = "Hello World!";

message.toLowerCase();

message(); //TypeError: message is not a function

위와 같은 코드가 있을 때 자바스크립트는 코드가 실행될 때 오류가 포착이 되고, 타입스크립트는 컴파일 단계에서 오류를 포착할 수 있다는 것이다.

복잡한 코드를 작성하다 보면 아래와 같이 작성자의 의도와 다르게 함수가 이용되는 경우가 생길 수 있다.

function sum(a, b) {
  return a + b;
}
sum('x', 'y'); // 'xy'

작성자는 매개변수 a와 b가 number 타입이라고 가정하고 그 합을 구하기 위해 함수를 작성하였겠지만 사용자가 string 타입을 입력하여 함수를 사용하는 경우 뒷단계에서 예상치 못한 오류가 발생할 수 있다.

이러한 잠재적인 오류를 미처 발견하지 못하고 코드를 실행하면서 버그가 발생하면 리팩토링하거나 코드를 깊게 파헤치는 과정에서 시간이 소요될 수 있을 것이다.

하지만 해당 코드를 타입스크립트를 사용해 타입을 명시한다면

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

sum('x', 'y');
// error TS2345: Argument of type '"x"' is not assignable to parameter of type 'number'.

컴파일 단계에서 오류를 포착할 수 있으며 작성자의 의도를 명확하게 기술할 수 있다.

2개의 댓글

comment-user-thumbnail
2023년 1월 10일

도움이 됐어요.

1개의 답글