tsconfig.json मा "strict": true एकैचोटि कठोर जाचको परिवार सक्षम गर्छ। यो सबै नयाँ परियोजनाहरूको लागि दृढताका साथ सिफारिस गरिएको छ — यो TypeScript रोक्नको लागि डिजाइन गरिएको बग पक्षी गर्छ।
{ "compilerOptions": { "strict": true } }
tsconfig.json मा "strict": true एकैचोटि कठोर जाचको परिवार सक्षम गर्छ। यो सबै नयाँ परियोजनाहरूको लागि दृढताका साथ सिफारिस गरिएको छ — यो TypeScript रोक्नको लागि डिजाइन गरिएको बग पक्षी गर्छ।
{ "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 ठूलो कुरा हो: यो null/undefined लाई अन्य प्रकारहरूबाट अलग गर्छ, त्यसैले कम्पाइलरले तपाईंलाई "हराउन सक्छ" प्रबन्ध गर्न बाध्य गर्छ जहाँसुकै — रनटाइम त्रुटिको #1 वर्ग हटाउछ ("undefined को सम्पत्ति पढ्न सकिँदैन")।
झण्डा वृद्धिशील रूपमा सक्षम गर्नुहोस् (strictNullChecks पहिलो), त्रुटिहरू फाइल दर फाइल ठीक गर्नुहोस्, ठूलो legacy परियोजनामा सबै एकैचोटि सक्षम गर्नुको सट्टा।
कठोर मोड बिना, TypeScript अझै पनि धेरै असुरक्षित प्याटर्नहरू अनुमति दिन्छ जुन यो रोक्न को लागि हो (अन्तर्निहित any, अजाँचेको nulls)।
Strict mode यो हो जहाँ TypeScript यसको अधिकांश मूल्य प्रदान गर्छ — यसलाई डिफल्ट र केवल राम्रो कारणको साथ अलग झण्डा शान्त रूपमा इलाज गर्नुहोस्।