"strict": true i tsconfig.json aktiverer en familie av strengere kontroller på en gang. Det anbefales sterkt for alle nye prosjekter — det oppdager feilene TypeScript er laget for å forhindre.
{ "compilerOptions": { "strict": true } }
"strict": true i tsconfig.json aktiverer en familie av strengere kontroller på en gang. Det anbefales sterkt for alle nye prosjekter — det oppdager feilene TypeScript er laget for å forhindre.
{ "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 er den store: det skiller null/undefined fra andre typer, slik at kompilatoren tvinger deg til å håndtere "kan mangle" overalt — og eliminerer den #1-klassen av runtime-feil ("cannot read property of undefined").
Aktiver flagg inkrementelt (strictNullChecks først), fiks feil fil for fil, i stedet for å aktivere alt på en gang på et stort legacy-prosjekt.
Uten strict mode tillater TypeScript fortsatt mange av de usikre mønstrene det er ment å forhindre (implisitt any, ukontrollert null).
Strict mode er der TypeScript leverer det meste av verdien — behandle det som standard og relaks bare individuelle flagg med god grunn.