기본 패턴
ts
let username: string = "refdock";
const port = 3000;설명
- 타입 주석은 개발자가 직접 타입을 써 주는 것이고, 타입 추론은 TypeScript가 문맥에서 타입을 계산하는 것입니다.
- 변수 선언, 함수 반환값, 배열 초기값처럼 정보가 충분한 위치에서는 추론이 꽤 잘 동작합니다.
- 그래서 TypeScript 코드는 "모든 곳에 타입을 다 쓰는 것"보다 "추론이 부족한 경계에만 타입을 적는 것"이 더 자연스럽습니다.
- 반대로 함수 인자, 공개 API, 빈 배열 초기화처럼 의도가 잘 드러나지 않는 곳은 명시적 주석이 유리합니다.
- 좋은 TypeScript 코드는 과도한 타입 장식보다, 필요한 지점에 정확한 타입을 두는 쪽에 가깝습니다.
짧은 예제
ts
const count = 3;
// count는 number로 추론됨
function repeat(text: string, times: number) {
return text.repeat(times);
}빠른 정리
| 상황 | 권장 방식 |
|---|---|
| 초기값이 분명한 변수 | 추론에 맡기기 |
| 함수 매개변수 | 타입 주석 명시 |
| 공개 API | 타입 주석 명시 |
| 복잡한 반환 타입 | 필요하면 반환 타입 명시 |
| 빈 배열 / null 시작값 | 명시적 타입이 더 안전 |
주의할 점
추론이 잘 된다고 해서 아무 타입도 안 적는 습관은 좋지 않습니다. 특히 함수 경계와 외부로 노출되는 타입은 명시해야, 코드 읽기와 변경 영향 분석이 쉬워집니다.
참고 링크
1 sources