Avatar ·

À quoi sert le point d'interrogation dans les paramètres des fonctions TypeScript ?

Bonjour à tous ! J'ai récemment commencé à apprendre TypeScript et je suis tombé sur une construction étrange dans les paramètres de fonctions. Je vois que parfois, avant les deux-points et le type du paramètre, on met un point d'interrogation. Par exemple : ```typescript function greet(name?: string) { return `Hello, ${name || 'Guest'}!`; } ``` Je comprends que `: string` signifie que le paramètre doit être une chaîne de caractères. Mais que fait `?` avant cela ? J'ai essayé d'appeler la fonction avec et sans paramètre — ça marche dans les deux cas. Mais si j'enlève le point d'interrogation, TypeScript commence à râler quand j'appelle `greet()` sans argument. Que signifie exactement ce point d'interrogation ? Est-ce une particularité de JavaScript ou seulement de TypeScript ? Et y a-t-il une différence entre `name?: string` et `name: string | undefined` ? Je serais reconnaissant pour une explication détaillée avec des exemples, car la documentation est compliquée, et en pratique, je veux comprendre comment l'utiliser correctement. Merci d'avance ! <<>>

Que signifie le point d'interrogation dans les paramètres