# स्ट्रिक्ट मोड और कंपाइलर त्रुटियाँ — टाइपस्क्रिप्ट

Source: https://www.geekswithgeeks.com/hi/typescript/ts-strict-mode

> एक फ़्लैग जो टाइपस्क्रिप्ट का पूरा सुरक्षा जाल चालू करता है, और यह कैसे समझें कि वह क्या बता रहा है।

## strict फ़्लैग

`tsconfig.json` में `"strict": true`, कई जाँचों — `strictNullChecks`, `noImplicitAny`, और अन्य — को एक स्विच में बाँध देता है। नए प्रोजेक्ट को पहले दिन से इसे चालू रखना चाहिए।

## strictNullChecks की पकड़

स्ट्रिक्ट नल जाँच में, `null`/`undefined` हर जगह चुपचाप स्वीकार नहीं होते — आपको इन्हें स्पष्ट रूप से हैंडल करना होगा।

```typescript
function getLength(s: string | null): number {
  return s.length;
  // Error: Object is possibly 'null'.
}

function getLengthSafe(s: string | null): number {
  return s ? s.length : 0; // narrowed, OK
}
```

## कंपाइलर त्रुटियाँ पढ़ना

TS त्रुटि संदेश असंगत टाइप्स के ठीक-ठीक नाम बताते हैं ("Type 'X' is not assignable to type 'Y'") — पहले दोनों टाइप नाम पढ़ें; वे आमतौर पर सीधे समाधान की ओर इशारा करते हैं।

**Quiz:** tsconfig.json में `"strict": true` क्या करता है?

- [ ] एक अतिरिक्त जाँच सक्षम करता है
- [x] कई स्ट्रिक्ट टाइप-चेकिंग विकल्पों को एक साथ बाँधता है
- [ ] केवल आउटपुट फ़ाइल के नामों को प्रभावित करता है

*Answer:* कई स्ट्रिक्ट टाइप-चेकिंग विकल्पों को एक साथ बाँधता है. strict एक शॉर्टहैंड है जो strictNullChecks, noImplicitAny, और कई अन्य जाँचों को एक साथ चालू करता है।
