"strict": true tsconfig.json-ში ერთდროულად უფრო მკაცრი შემოწმებების კომპლექტს ამუშავებს. ეს ძლიერ რეკომენდირებულია ყველა ახალი პროექტისთვის — ის იჭერს bug-ებს, რომელსაც TypeScript მიზნად ისახავს აღმოფხვრას.
// 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 დიდი რამ არის: ის ჯამდება null/undefined სხვა ტიპებისგან, ამიტომ კომპილატორი აიძულებს თქვენ შორის ყველგან "შეიძლება იყოს დაკარგული" - აღმოფხვრის runtime errors-ის #1 კლასი ("cannot read property of undefined").
включите flag-ებს ინკრემენტულად (strictNullChecks პირველი), აღმოფხვრეთ errors ფайল-დან ფაილამდე, ვიდრე ყველაფერი ერთდროულად დიდი legacy პროექტზე ჩართოთ.
strict mode-ის გარეშე, TypeScript კვლავ საშუბელებას იძლევა უსაფრთხო ნიმუშების უმეტესობას, რომელსაც აირ მიზნად ისახავს აღმოფხვრას (implicit any, unchecked nulls).
Strict mode არის სადაც TypeScript აკვეთებს მის მნიშვნელოვან ღირებულებას — მისი მკურნალობა, როგორც სტანდარტული და მხოლოდ ამარტივებს ინდივიდუალურ flag-ებს კარგი მიზეზით.