"strict": true i tsconfig.json aktiverar en familj av strängare kontroller på en gång. Det är starkt rekommenderat för alla nya projekt — det fångar de buggar som TypeScript existerar för att förhindra.
"strict": true i tsconfig.json aktiverar en familj av strängare kontroller på en gång. Det är starkt rekommenderat för alla nya projekt — det fångar de buggar som TypeScript existerar för att förhindra.
// 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 är den viktiga: den skiljer null/undefined från andra typer, så kompilatorn tvingar dig att hantera "kan vara saknat" överallt — vilket eliminerar #1-klassen av körningsfel ("cannot read property of undefined").
Aktivera flaggor inkrementellt (strictNullChecks först), åtgärda fel fil för fil, snarare än att aktivera allt på en gång på ett stort legacy-projekt.
Utan strikt läge tillåter TypeScript fortfarande många av de osäkra mönstren som det är menat att förhindra (implicit any, okontrollerade null).
Strikt läge är där TypeScript levererar det mesta av sitt värde — behandla det som standard och bara relax enskilda flaggor med god anledning.