설명
- TypeScript는 JavaScript 위에 정적 타입 검사를 더해, 코드 실행 전에 타입 오류를 더 일찍 발견하게 돕습니다.
- 중요한 점은 TypeScript가 JavaScript의 런타임 동작을 바꾸지 않는다는 것입니다. 타입은 주로 컴파일 시점의 안전장치입니다.
- 코드가 커질수록 함수 인자, 반환값, 객체 구조가 얽히는데, 타입 정보는 이 관계를 문서이자 검사 규칙으로 남깁니다.
- IDE 자동완성, 리팩터링, 정의로 이동 같은 도구 지원도 타입 정보 덕분에 훨씬 강해집니다.
- 결국 TypeScript의 장점은 "문법이 멋지다"보다, 큰 코드베이스를 더 예측 가능하게 유지해 준다는 데 있습니다.
짧은 예제
ts
function add(a: number, b: number) {
return a + b;
}
add(1, 2);
// add("1", 2); // 타입 오류빠른 정리
| 질문 | TypeScript의 답 |
|---|---|
| JavaScript와 다른 언어인가? | 런타임은 JavaScript와 연결된 타입 기반 확장입니다. |
| 언제 도움이 큰가? | 규모가 커지고 협업이 많을수록 효과가 큽니다. |
| 실행 시 타입이 남는가? | 기본적으로 컴파일 후 타입 정보는 지워집니다. |
| 대표 장점 | 오류 조기 발견, 자동완성, 리팩터링 안정성 |
| 대표 한계 | 런타임 검증 자체를 대신하지는 못합니다. |
주의할 점
TypeScript를 쓰기 시작했다고 해서 런타임 오류가 사라지는 것은 아닙니다. 타입 검사는 설계 오류를 줄여 주지만, 외부 입력 검증과 예외 처리는 여전히 직접 해야 합니다.
참고 링크
2 sources