tsconfig.json의 "strict": true는 더 엄격한 검사들을 한 번에 켭니다. 모든 새 프로젝트에 강력히 권장됩니다 — TypeScript가 존재하는 이유인 버그들을 잡아냅니다.
json
{ "compilerOptions": { "strict": true } }
가장 영향력 있는 플래그들
ts
: = ;
() { u.; }
() {}
{ : ; }
tsconfig.json의 "strict": true는 더 엄격한 검사들을 한 번에 켭니다. 모든 새 프로젝트에 강력히 권장됩니다 — TypeScript가 존재하는 이유인 버그들을 잡아냅니다.
{ "compilerOptions": { "strict": true } }
: = ;
() { u.; }
() {}
{ : ; }
**strictNullChecks**가 핵심입니다: null/undefined를 다른 타입과 분리하여, 컴파일러가 "없을 수도 있음"을 모든 곳에서 처리하도록 강제합니다 — 런타임 오류의 1순위 부류("cannot read property of undefined")를 제거합니다.
대형 레거시 프로젝트에 모든 것을 한 번에 켜는 대신, 플래그를 점진적으로 켜고(strictNullChecks 먼저) 파일별로 오류를 고치세요.
Strict mode 없이는 TypeScript가 막으려는 안전하지 않은 패턴들(암묵적 any, 검사되지 않은 null)을 여전히 많이 허용합니다.
Strict mode는 TypeScript가 그 가치의 대부분을 전달하는 지점입니다 — 기본값으로 취급하고 충분한 이유가 있을 때만 개별 플래그를 완화하세요.