"strict": true tiedostossa tsconfig.json ottaa käyttöön joukon tiukempia tarkistuksia kerralla. Se on vahvasti suositeltava kaikille uusille projekteille — se välttää virheet, joita TypeScript on tarkoitettu estämään.
"strict": true tiedostossa tsconfig.json ottaa käyttöön joukon tiukempia tarkistuksia kerralla. Se on vahvasti suositeltava kaikille uusille projekteille — se välttää virheet, joita TypeScript on tarkoitettu estämään.
// 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 on merkittävä: se erottaa null/undefined muista tyypeistä, joten kääntäjä pakottaa sinut käsittelemään "voi puuttua" kaikkialla — poistaen suoritusajan virheistä merkittävimmän luokan ("ei voi lukea undefined:n ominaisuutta").
Ota liput käyttöön asteittain (strictNullChecks ensin), korjaa virheet tiedosto kerrallaan, sen sijaan että ottaisit kaikki kerralla käyttöön suuressa perintöprojektissa.
Ilman strict mode -tilaa TypeScript sallii edelleen monia epäturvallisia kuvioita, joita se on tarkoitettu estämään (implisiitti any, tarkistamattomia null-arvoja).
Strict mode on paikka, jossa TypeScript tuottaa suurimman arvon — käsittele sitä oletuksena ja relaksoi yksittäisiä lippuja vain hyvästä syystä.