tsconfig.json-এ "strict": true একবারে কঠোর পরীক্ষাগুলির একটি পরিবার চালু করে। এটি সমস্ত নতুন প্রকল্পের জন্য দৃঢ়ভাবে সুপারিশ করা হয় — এটি TypeScript যে বাগ প্রতিরোধ করার জন্য বিদ্যমান সেগুলি ধরে ফেলে।
{ "compilerOptions": { "strict": true } }
tsconfig.json-এ "strict": true একবারে কঠোর পরীক্ষাগুলির একটি পরিবার চালু করে। এটি সমস্ত নতুন প্রকল্পের জন্য দৃঢ়ভাবে সুপারিশ করা হয় — এটি TypeScript যে বাগ প্রতিরোধ করার জন্য বিদ্যমান সেগুলি ধরে ফেলে।
{ "compilerOptions": { "strict": true } }
বিস্তারিত উত্তরসহ IT ইন্টারভিউ প্রশ্নের একটি লাইব্রেরি — জুনিয়র থেকে সিনিয়র পর্যন্ত।
দান করুন// 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 কে অন্যান্য টাইপ থেকে আলাদা করে, তাই compiler আপনাকে "হতে পারে অনুপস্থিত" সর্বত্র পরিচালনা করতে বাধ্য করে — রানটাইম ত্রুটির প্রথম শ্রেণী নির্মূল করে ("undefined-এর বৈশিষ্ট্য পড়া যায় না")।
পতাকাগুলি ক্রমবর্ধমান চালু করুন (strictNullChecks প্রথম), ত্রুটিগুলি ফাইল দ্বারা ফাইল সংশোধন করুন, বড় legacy প্রকল্পে একবারে সবকিছু সক্ষম করার পরিবর্তে।
কঠোর মোড ছাড়া, TypeScript এখনও অনেক অনিরাপদ প্যাটার্ন অনুমতি দেয় যা এটি প্রতিরোধ করার জন্য অভিপ্রায় (নিহিত any, অপরীক্ষিত nulls)।
কঠোর মোড যেখানে TypeScript বেশিরভাগ মূল্য প্রদান করে — এটিকে ডিফল্ট হিসাবে বিবেচনা করুন এবং শুধুমাত্র ভাল কারণে স্বতন্ত্র পতাকা শিথিল করুন।