"strict": true v tsconfig.json aktivuje rodinu přísnějších kontrol najednou. Je důrazně doporučeno pro všechny nové projekty — zachytává chyby, kterým má TypeScript zabránit.
{ "compilerOptions": { "strict": true } }
"strict": true v tsconfig.json aktivuje rodinu přísnějších kontrol najednou. Je důrazně doporučeno pro všechny nové projekty — zachytává chyby, kterým má TypeScript zabránit.
{ "compilerOptions": { "strict": true } }
// strictNullChecks — null/undefined are no longer assignable to everything
let name: string = null; // ❌ Error (without strict this compiles, then crashes)
function f(u?: User) { u.name; } // ❌ u is possibly undefined → forces a check
// noImplicitAny — parameters with no inferable type must be annotated
function g(x) {} // ❌ Error: 'x' implicitly has type 'any'
// strictPropertyInitialization — class fields must be initialized
class C { name: string; } // ❌ must init in constructor or mark optional
strictNullChecks je ten hlavní: odděluje null/undefined od ostatních typů, takže kompilátor vás nutí všude řešit "může chybět" — eliminuje hlavní třídu chyb za běhu ("nelze přečíst vlastnost undefined").
Aktivujte příznaky postupně (strictNullChecks nejdřív), opravujte chyby soubor po souboru, místo abyste vše najednou zapnuli u velkého starého projektu.
Bez strict mode TypeScript stále umožňuje mnoho nebezpečných vzorů, kterým má zabránit (implicitní any, nekontrolované null).
Strict mode je místo, kde TypeScript poskytuje největší hodnotu — považujte je za výchozí a pouze s dobrým důvodem uvolňujte jednotlivé příznaky.