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