Superset

TypeScript 타입 계약

유효한 JavaScript 코드는 TypeScript 코드로도 출발할 수 있습니다. 그 위에 타입을 붙이면 컴파일 전 검사가 가능해지고, 실행 결과는 다시 JavaScript로 배포됩니다.

1

JS 코드를 그대로 시작

기존 파일을 버리지 않고 타입을 붙일 경계를 골라 점진적으로 전환합니다.

2

의도를 타입으로 표현

함수 인자, 반환값, 데이터 구조를 팀이 공유하는 계약으로 만듭니다.

3

실행 전에 오류 확인

컴파일러와 에디터가 잘못된 값 사용을 런타임 이전에 검출합니다.

4

JS로 배포

실행 결과물은 타입 문법이 제거된 JavaScript입니다.

JavaScript

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

의도는 사람의 기억과 테스트에 더 많이 의존합니다.

TypeScript

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

숫자만 받는다는 의도가 코드와 도구에 남습니다.

배포 결과

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

타입은 검사 단계에서 쓰이고 런타임에는 JavaScript가 실행됩니다.

도입 자체보다 중요한 기준

TypeScript의 장점은 타입을 켜는 순간이 아니라, any와 근거 없는 단언을 줄이고 중요한 데이터 경계를 명확히 적을 때 커집니다.