타입스크립트 6.0 RC 버전이 나왔습니다.

AI가 코드를 짠다지만 아무리 그래도 언어를 이해하고 있는 것은 중요하지요. 타입스크립트 6.0 RC 가 나와서 소개해드립니다.
이번 6.0 버전은 단순히 기능 추가를 넘어, 향후 Go 언어로 재작성될 차세대 버전(TypeScript 7.0)으로 가기 위한 가교(Bridge) 역할을 하는 매우 중요한 릴리스입니다.
FE 개발자가 주목해야 할 3가지 핵심 요약
기본 설정의 현대화 (Breaking Changes):
strict: true,module: "esnext"등이 이제 별도 설정 없이도 기본값이 됩니다. 최신 웹 표준(ESM) 위주로 생태계를 강제 재편하려는 의도가 보입니다.새로운 JS 스펙 지원: 드디어 고통스러운
Date객체를 대체할TemporalAPI와RegExp.escape, Map의upsert등 최신 ECMAScript 2025 표준 타입이 대거 추가되었습니다.타입 추론 개선: 함수 선언 시
this를 사용하지 않는 경우의 타입 추론이 더 똑똑해져서, 기존에 수동으로 타입을 지정해야 했던 번거로움이 줄어듭니다.
주요 신규 기능 및 개선 사항
더 똑똑해진 타입 추론 (Less Context-Sensitivity)
기존에는 제네릭 함수나 JSX 내에서 함수를 전달할 때, 문맥에 따라 타입 추론이 끊기거나 any로 추락하는 경우가 있었습니다. 6.0에서는 this를 사용하지 않는 함수들에 대해 더 깊은 문맥적 추론을 지원하여, 개발자가 명시적으로 제네릭 타입을 적지 않아도 오류 없이 타입을 잡아냅니다.
ECMAScript 2025 및 신규 표준 지원
Temporal API: 복잡한 날짜/시간 계산을 위한 차세대 표준인
Temporal의 타입 정의가 포함되었습니다. (target: "es2025"사용 시 가능)RegExp.escape: 정규표현식에 사용할 문자열을 안전하게 이스케이프 해주는 메서드 지원.
Map/WeakMap 'upsert' (getOrInsert): 값이 없으면 넣고 있으면 가져오는 동작을 한 번에 수행하는 메서드의 타입이 추가되었습니다.
#으로 시작하는 Subpath Imports 지원
Node.js의 최신 기능을 따라, package.json의 imports 필드에서 정의한 #internal/utils와 같은 내부 경로 별칭을 TypeScript가 공식적으로 완벽하게 인식합니다.
설정 조합의 자유도 향상
기존에는 --moduleResolution bundler를 쓸 때 반드시 --module esnext를 써야 했으나, 이제는 CommonJS 환경에서도 bundler 전략을 조합해 사용할 수 있어 Vite나 Webpack 환경에서의 설정이 더 유연해졌습니다.
설정 및 마이그레이션 (중요!)
TypeScript 6.0은 7.0(Go 버전)에서 사라질 낡은 기능들을 솎아내는 단계입니다.
기본값 변경:
strict: 이제 기본이true입니다. (신규 프로젝트 시작 시 매우 편리)module: 기본이esnext로 변경되었습니다.target: 최신 환경인es2025를 지원하며 기본값도 최신화되었습니다.
사용 중단(Deprecation) 경고:
baseUrl,out-file,ES5타겟팅 등이 이제 권장되지 않습니다.당장 빌드가 깨지는 것이 걱정된다면
tsconfig에"ignoreDeprecations": "6.0"을 추가하여 7.0 전까지 유예할 수 있습니다.
총평
프론트엔드 개발자라면 이제 strict: true와 ESM(ECMAScript Modules)은 선택이 아닌 필수라는 점을 명심해야 합니다. 6.0으로 업데이트하면서 프로젝트의 tsconfig.json을 점검하고, 새롭게 추가된 Temporal이나 개선된 타입 추론을 활용해 더 안전하고 간결한 코드를 작성해 보시는 것을 추천합니다.