strict: true
noImplicitAny
strictNullChecks
strictFunctionTypes
strict는 출발점이지 모든 검사의 별칭은 아니다묶음과 독립 옵션을 나누면 어떤 버그를 막는 스위치인지 선명해진다.
strict: truenoImplicitAny
strictNullChecks
strictFunctionTypes
noUnusedLocals
noImplicitReturns
noUncheckedIndexedAccess
noImplicitAny가 암시적 any를 오류로 바꾼다.
입력 경계에 타입 근거를 남김
strictNullChecks가 사용 전 null 처리를 요구한다.
분기나 기본값으로 좁힘
noUncheckedIndexedAccess가 결과를 T | undefined로 본다.
접근 실패를 타입에 반영
적용 원칙
strict: true에서 시작하고, 별도 옵션은 실제 실패 패턴에 맞춰 더한다.