TypeScript 5.9는 2026년 1월에 공식 릴리스된 버전으로, 타입 추론 강화와 빌드 성능 개선에 초점을 맞췄어요. 복잡한 유니온 타입 처리나 모듈 해석 방식이 대폭 바뀌면서 프로젝트 설정을 새로 고쳐야 할 시점이 되었네요. 이제 tsc --init 명령어를 실행하면 방대한 주석이 달린 설정 파일 대신 최소한의 권장 옵션만 생성돼요. 기존에 생성된 설정 파일의 주석을 바로 삭제하던 번거로움을 줄여준 거예요. ES 모듈과 현대적인 타겟, 엄격한 타입 체크를 기본으로 하도록 설계된 거죠. 개발 환경이 빠르게 변화하는 만큼 최신 버전에 맞춰 설정을 업데이트하는 게 중요하죠. 특히 신규 프로젝트라면 초기 설정 단계에서부터 권장 옵션을 그대로 적용하는 게 장기 유지보수에 도움이 돼요.
// Recommended Options
{
"strict": true,
"jsx": "react-jsx",
"verbatimModuleSyntax": true,
"isolatedModules": true,
"noUncheckedSideEffectImports": true,
"moduleDetection": "force",
"skipLibCheck": true
}
실제 프로젝트에 적용할 때는 위 옵션들을 그대로 따르는 게 좋아요. skipLibCheck는 선언 파일의 타입 검사를 건너뛰어 컴파일 속도를 높여주고, moduleDetection은 모든 파일을 모듈로 인식하게 해 전역 스코프 오염을 방지하죠. 이 둘을 함께 설정하면 빌드 효율과 모듈 해석 안정성을 동시에 잡을 수 있어요. verbatimModuleSyntax나 isolatedModules 같은 설정도 함께 적용하면 모던한 개발 환경에 더 잘 적응할 수 있어요. 추가적인 컴파일러 옵션은 에디터 자동 완성이나 공식 tsconfig 레퍼런스를 참고하면 되거든요. 모듈 로딩 방식에도 변화가 생겼어요. import defer 구문을 사용하면 상위 코드가 즉시 실행되지 않도록 지연 로딩이 가능해지네요. 다만 네임스페이스 임포트만 허용되고, 특정 속성이나 기본값을 직접 가져오는 방식은 아직 지원되지 않아요. 이 기능은 현재 프리뷰 단계로 개발자 피드백을 받고 있는 상태예요.
빌드 성능 최적화 차원에서 매퍼에서의 인스턴스화 캐싱이 개선되었어요. 또한 조건부 타입 내로잉 강화도 핵심 변경 사항에 포함되네요. 에디터 환경에서 타입 정보를 볼 때 툴팁 길이가 너무 짧아 답답했던 분들을 위해 js/ts.hover.maximumLength 설정으로 호버 길이를 조절할 수 있고, 기본값도 크게 늘어났네요. 중요한 정보가 생략되곤 했던 불편함도 해소되었죠. 빌드 속도와 타입 안정성을 동시에 잡을 수 있는 만큼, 프로젝트의 tsconfig를 최신 권장 사항에 맞춰 정리해 보는 걸 추천해요. 에디터 자동 완성 기능과 함께 쓰면 설정 탐색 부담이 확 줄어드니까요. 설정 변경 후 반드시 tsc --noEmit로 타입 체크만 먼저 실행해 보세요.
출처
'develop > javascript' 카테고리의 다른 글
| fetch 요청 취소 패턴 (AbortController) (0) | 2026.07.24 |
|---|---|
| 이벤트 위임 기반 동적 요소 클릭 처리 패턴 (0) | 2026.07.16 |
| JavaScript 깊은 복사 방법 (structuredClone, JSON.parse 한계) (0) | 2026.07.13 |
| 구글 맵이 간헐적으로 표시 되지 않는 현상 (0) | 2024.08.15 |
| iframe 페이지 전환 시 history추가되지 않게 하기 (0) | 2019.03.28 |