मॉड्यूल पाठ (1/2)
Tsconfig.json के साथ कॉन्फ़िगरेशन
tsconfig.json फ़ाइल टाइपस्क्रिप्ट प्रोजेक्ट की रूट निर्देशिका और प्रोजेक्ट बनाने के लिए आवश्यक कंपाइलर विकल्प निर्दिष्ट करती है।
जब भी आप किसी प्रोजेक्ट निर्देशिका में tsc चलाते हैं, तो कंपाइलर अपने संकलन व्यवहार को निर्देशित करने के लिए इस फ़ाइल की खोज करता है।
tsconfig.json फ़ाइल की संरचना
एक सामान्य कॉन्फ़िगरेशन फ़ाइल इस तरह दिखती है:
{
"compilerOptions": {
"target": "es2022",
"module": "commonjs",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"outDir": "./dist"
},
"include": ["src/**/*"],
"exclude": ["node_modules", "**/*.spec.ts"]
}मुख्य गुण हैं:
compilerOptions: कंपाइलर के लिए सेटिंग्स।include: संकलित करने के लिए फ़ाइलें या फ़ोल्डर निर्दिष्ट करता है।exclude: संकलन के दौरान अनदेखा करने के लिए फ़ाइलों या फ़ोल्डरों को निर्दिष्ट करता है।
मुख्य संकलक विकल्प
जानने के लिए यहां कुछ सबसे महत्वपूर्ण सेटिंग्स दी गई हैं:
target: कंपाइलर द्वारा जावास्क्रिप्ट आउटपुट का संस्करण निर्दिष्ट करता है (उदाहरण के लिए,es5,es6/es2015,es2020,esnext)।module: संकलित कोड में उपयोग किए गए मॉड्यूल सिस्टम को निर्दिष्ट करता है (उदाहरण के लिए,commonjs,esnext,node16)।strict: कठोर टाइप-चेकिंग व्यवहारों के एक व्यापक सूट को सक्षम करता है। अधिकतम प्रकार की सुरक्षा के लिए इसेtrueपर सेट करने की अत्यधिक अनुशंसा की जाती है। यह जैसे विकल्पों को सक्षम बनाता है:noImplicitAny: जब कोई प्रकार का एनोटेशन प्रदान नहीं किया जाता है तो एक अंतर्निहितanyप्रकार के साथ अभिव्यक्तियों और घोषणाओं पर त्रुटि उत्पन्न होती है।strictNullChecks: उन प्रकारों कोnullयाundefinedनिर्दिष्ट करने से रोकता है जो स्पष्ट रूप से उन्हें अपने संघ में शामिल नहीं करते हैं।
खुद कोशिश करना
अभ्यास 1: स्ट्रिक्टनलचेक को संभालना
tsconfig.json में strictNullChecks: true विकल्प के तहत, हम आदिम प्रकारों को शून्य या अपरिभाषित निर्दिष्ट नहीं कर सकते हैं। parseAge नाम का एक फ़ंक्शन घोषित करें जो स्ट्रिंग | प्रकार के इनपुट को स्वीकार करता है शून्य और एक संख्या लौटाता है यदि इनपुट शून्य नहीं है और एक वैध पूर्णांक है, अन्यथा यह 0 लौटाता है। सख्त संकलन पारित करने के लिए स्पष्ट रूप से शून्य मामले को संभालें।
संकेत दिखाएँ
जांचें कि क्या फ़ंक्शन की शुरुआत में इनपुट शून्य है और स्ट्रिंग को संसाधित करने से तुरंत पहले 0 लौटाएं।
3 प्रयासों के बाद समाधान उपलब्ध है
अभ्यास 2: बिना किसी निहितार्थ के सख्त टाइपिंग
NoImplicitAny: true के तहत, कोई भी पैरामीटर जिसके प्रकार का अनुमान नहीं लगाया जा सकता है उसे स्पष्ट रूप से टाइप किया जाना चाहिए। प्रोसेसआइटम्स नामक एक फ़ंक्शन बनाएं जो एक सरणी आइटम (संख्याओं की सरणी) और एक कॉलबैक फ़ंक्शन स्वीकार करता है जो एक संख्या को तर्क के रूप में लेता है और कुछ भी नहीं लौटाता है। सुनिश्चित करें कि किसी का उपयोग न करें और सब कुछ स्पष्ट रूप से टाइप करें।
संकेत दिखाएँ
फ़ंक्शन को हस्ताक्षर फ़ंक्शन प्रोसेसआइटम्स(आइटम्स: नंबर[], कॉलबैक: (आइटम: नंबर) => शून्य): शून्य के साथ घोषित करें।
3 प्रयासों के बाद समाधान उपलब्ध है