Avatar ·

TypeScript फ़ंक्शन पैरामीटर में प्रश्न चिह्न का उपयोग किसके लिए किया जाता है?

सभी को नमस्ते! हाल ही में TypeScript सीखना शुरू किया है और फ़ंक्शन पैरामीटर में एक अजीब संरचना देखी। मैं देखता हूँ कि कभी-कभी कोलन और पैरामीटर के type से पहले प्रश्न चिह्न लगाया जाता है। उदाहरण के लिए:\n\n```typescript\nfunction greet(name?: string) {\n return `Hello, ${name || 'Guest'}!`;\n}\n```\n\nमैं समझता हूँ कि `: string` का मतलब है कि पैरामीटर string होना चाहिए। लेकिन इससे पहले `?` क्या करता है? मैंने फ़ंक्शन को पैरामीटर के साथ और बिना पैरामीटर के कॉल करने की कोशिश की — दोनों तरह से काम करता है। लेकिन अगर मैं प्रश्न चिह्न हटा दूँ, तो TypeScript त्रुटि देने लगता है जब मैं बिना argument के `greet()` कॉल करता हूँ।\n\nयह प्रश्न चिह्न वास्तव में क्या दर्शाता है? क्या यह JavaScript की कोई विशेषता है या केवल TypeScript में है? और क्या `name?: string` और `name: string | undefined` में कोई अंतर है? विस्तृत स्पष्टीकरण के लिए आभारी रहूँगा।