"strict: true는 일곱 검사를 한꺼번에 켜는 메타 플래그야."
strict 가족
tsconfig의 strict: true는 다음 일곱 설정을 함께 켜.
noImplicitAnystrictNullChecksstrictFunctionTypesstrictBindCallApplystrictPropertyInitializationnoImplicitThisuseUnknownInCatchVariables
각 설정은 서로 다른 허점을 잡고, 2026년 새 TypeScript 프로젝트에서는 첫날부터 모두 켜는 것이 기본이야.
왜 함께 켜는가
하나만 켜고 나머지를 빼면 다른 종류의 느슨함이 남아. 레거시 코드를 점진적으로 옮길 때는 개별 설정을 잠시 끌 수 있지만 방향은 늘 더 엄격한 쪽이어야 해.
strict가 끝은 아니야
strict가 포함하지 않는 세 설정도 새 프로젝트에서는 함께 켜.
noUncheckedIndexedAccess: 인덱스 결과에 undefined를 더해.exactOptionalPropertyTypes: 키 부재와 명시적 undefined를 구별해.noImplicitReturns: 모든 코드 경로가 값을 반환하게 해.
@tsconfig/strictest 베이스는 이 설정들을 포함한 최대 엄격 출발점을 제공해.
새 프로젝트의 기본값은 최대 엄격 설정이야. 오류를 나중에 추적하는 것보다 컴파일 단계에서 가정을 드러내는 편이 싸.