TypeScript साक्षात्कार कैसे पास करें: उदाहरणों के साथ शीर्ष प्रश्न
TypeScript ने JavaScript पर enterprise-डेवलपमेंट के लिए मानक के रूप में अपनी जगह मजबूती से बना ली है। यदि आप साक्षात्कार की तैयारी कर रहे हैं, तो केवल सिंटैक्स जानना ही नहीं, बल्कि यह समझना भी महत्वपूर्ण है कि types, generics और utilities कैसे काम करते हैं। इस लेख में, हमने उन शीर्ष प्रश्नों को शामिल किया है जो अक्सर तकनीकी साक्षात्कारों में पूछे जाते हैं, साथ ही विस्तृत उत्तर और कोड उदाहरण भी दिए हैं।
यह सामग्री junior-डेवलपर्स और उन लोगों दोनों के लिए उपयोगी होगी जो किसी महत्वपूर्ण मीटिंग से पहले अपने ज्ञान को ताज़ा करना चाहते हैं।
1. TypeScript क्या है और इसकी आवश्यकता क्यों है?
TypeScript JavaScript का एक सख्ती से टाइप किया गया सुपरसेट है, जो सामान्य JS में कंपाइल होता है। इसका मुख्य उद्देश्य स्टैटिक टाइपिंग जोड़ना है, जो निम्नलिखित की अनुमति देता है:
- runtime के बजाय कंपाइलेशन चरण में त्रुटियों को पकड़ना।
- कोड की पठनीयता और रखरखाव में सुधार करना।
- IDE में ऑटो-कम्प्लीशन और रिफैक्टरिंग प्राप्त करना।
उदाहरण:
// JavaScriptfunction add(a, b) { return a + b; // a और b कुछ भी हो सकते हैं}
// TypeScriptfunction add(a: number, b: number): number { return a + b; // यदि स्ट्रिंग पास की जाती है तो कंपाइलेशन त्रुटि}साक्षात्कार में यह बताना महत्वपूर्ण है कि TypeScript JavaScript को प्रतिस्थापित नहीं करता, बल्कि कोड को सुरक्षित बनाकर उसे पूरक करता है।
2. बेसिक types और उनका उपयोग
TypeScript बेसिक types का एक विस्तृत सेट प्रदान करता है। इस विषय पर प्रश्न टाइप सिस्टम की आपकी समझ का परीक्षण करते हैं।
मुख्य types की सूची बनाएं:
number,string,booleannull,undefinedany— टाइप चेकिंग को बंद करता है (इससे बचने का प्रयास करें)void— उन फ़ंक्शनों के लिए जो कुछ भी रिटर्न नहीं करतेnever— उन फ़ंक्शनों के लिए जो कभी समाप्त नहीं होते (जैसे, एक्सेप्शन फेंकना)
union-types के साथ उदाहरण:
type Status = 'active' | 'inactive' | 'pending';let userStatus: Status = 'active'; // केवल तीन मानों में से एकअक्सर interface और type के बीच अंतर के बारे में पूछा जाता है। उत्तर: interface को बढ़ाया जा सकता है (extends), जबकि type को नहीं। ऑब्जेक्ट के लिए interface बेहतर है, प्रिमिटिव और union के लिए type।
3. Generics — लचीलेपन का आधार
Generics आपको टाइपिंग खोए बिना विभिन्न प्रकारों के साथ काम करने वाले कंपोनेंट बनाने की अनुमति देते हैं। यह सबसे सामान्य प्रश्नों में से एक है।
सरल generic का उदाहरण:
function identity<T>(arg: T): T { return arg;}const result = identity<string>('hello'); // टाइप stringconst numberResult = identity(42); // टाइप number (टाइप इन्फ्रेंस)प्रश्न: Generic को कैसे सीमित करें?
कीवर्ड extends का उपयोग करें:
function getLength<T extends { length: number }>(arg: T): number { return arg.length;}getLength('hello'); // 5getLength([1,2,3]); // 3// getLength(123); // त्रुटि: number में length नहीं हैइंटरफेस में generics के बारे में भी पूछा जाएगा:
interface ApiResponse<T> { data: T; status: number; error?: string;}const userResponse: ApiResponse<{ id: number; name: string }> = { data: { id: 1, name: 'Alice' }, status: 200};4. Utility Types
TypeScript की अंतर्निहित उपयोगिताएँ प्रकारों में हेरफेर को सरल बनाती हैं। इनका ज्ञान एक अनुभवी डेवलपर की निशानी है।
जानने योग्य शीर्ष 5 उपयोगिताएँ:
Partial<T>— सभी फ़ील्ड को वैकल्पिक बनाता है।Required<T>— सभी फ़ील्ड को अनिवार्य बनाता है।Pick<T, K>— केवल निर्दिष्ट कुंजियाँ चुनता है।