본문 바로가기
Q&A2024년 8월 20일1분 읽기

TypeScript 5.x strict 모드 완전 가이드

이
이지현
조회 559댓글 3

TypeScript strict 모드를 켜면 에러가 너무 많이 나는데 하나씩 설명해주세요.

댓글 3

김김영삼2년 전

strict 모드 주요 옵션:

// tsconfig.json
{
"compilerOptions": {
"strict": true, // 아래 모두 활성화
// "noImplicitAny": true, // 타입 미지정 시 에러
// "strictNullChecks": true, // null/undefined 체크 필수
// "strictFunctionTypes": true, // 함수 타입 엄격 체크
}
}

가장 많이 만나는 에러:

// noImplicitAny
function add(a, b) {} // ❌
function add(a: number, b: number) {} // ✅

// strictNullChecks
const el = document.getElementById("app"); // HTMLElement | null
el.textContent = "hi"; // ❌ el이 null일 수 있음
el?.textContent = "hi"; // ✅ 또는 if (el) 체크

처음엔 번거롭지만 strict 모드가 런타임 버그를 크게 줄여줍니다. 새 프로젝트는 반드시 strict: true로 시작하세요.

이이지현(guest)2년 전
기존 프로젝트에 strict를 켜면 에러가 수백 개인데 어떻게 점진적으로 적용하나요?
김김영삼2년 전

한번에 켜지 말고 단계별로:

  1. noImplicitAny만 먼저 켜기
  2. // @ts-ignore로 임시 무시 (나중에 수정)
  3. strictNullChecks 다음
  4. 파일별로 // @ts-strict 적용하는 방법도 있음

또는 typescript-strict-plugin으로 새 파일만 strict 적용하는 전략도 있습니다.

Ctrl+Enter로 등록