도입 판단

TypeScript 도입 시점

작은 예제에서는 JavaScript의 유연함이 빠르게 느껴지지만, 팀과 기능이 늘어나면 값의 의도를 코드에 남기는 편이 디버깅 비용을 줄입니다.

오류 시점

실행 후에야 드러나는 값 섞임

add(10, "20")

숫자 덧셈 의도가 문자열 연결로 바뀌어도 실행 전에는 놓치기 쉽습니다.

협업 계약

함수 사용법이 기억에 의존

인자와 반환값의 모양이 코드에 없으면 호출하는 사람이 문맥을 다시 추적해야 합니다.

변경 범위

리팩터링 때 깨진 연결을 놓침

데이터 구조나 함수 이름을 바꿀 때 잘못된 호출이 런타임까지 남을 수 있습니다.

타입 의도

중요한 경계를 코드로 명시

name: string year: number

값의 모양을 먼저 적어두면 에디터와 컴파일러가 약속 위반을 검출합니다.

도입 기준

TypeScript의 효과는 단순히 파일 확장자를 바꾸는 데서 나오지 않습니다. any를 줄이고, 데이터가 들어오고 나가는 경계부터 타입으로 표현할 때 유지보수성이 실제로 좋아집니다.