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 کلاس کو ختم کرتا ہے ("cannot read property of undefined")۔
نیرے طور پر پرچم چالو کریں (strictNullChecks پہلے)، ایک بڑے لیگیسی منصوبے پر سب کچھ ایک بار میں فعال کرنے کی بجائے فائل کے لحاظ سے خرابیوں کو درست کریں۔
Strict mode کے بغیر، TypeScript ابھی بھی بہت سے غیر محفوظ نمونوں کی اجازت دیتا ہے جو یہ روکنے کے لیے مطلب ہے (implicit any، غیر معاون nulls)۔
Strict mode وہ جگہ ہے جہاں TypeScript اپنی اکثریت قیمت فراہم کرتا ہے — اس کو معیاری طور پر سلوک کریں اور صرف اچھی وجہ سے انفرادی پرچم آرام دیں۔