Avatar ·

TypeScript prend-il en charge l'opérateur ?. et comment s'appelle-t-il correctement ?

Bonjour à tous ! J'ai récemment commencé à apprendre TypeScript et j'ai rencontré un problème. Souvent dans le code, j'ai besoin d'accéder à une propriété d'un objet qui peut ne pas exister. Par exemple, j'ai un objet `user` qui vient du serveur, et il peut avoir un champ imbriqué `profile.name`. Si j'écris `user.profile.name`, TypeScript génère une erreur indiquant que `profile` peut être `undefined`. Je sais qu'en JavaScript il existe l'opérateur `?.` qui permet d'accéder aux propriétés en toute sécurité. Mais je ne suis pas sûr que TypeScript le supporte et comment il s'appelle correctement. J'ai essayé d'écrire comme ceci : ```typescript interface User { profile?: { name?: string; }; } const user: User = {}; console.log(user.profile.name); // Erreur : Object is possibly 'undefined' ``` Si j'ajoute `?.`, l'erreur disparaît : ```typescript console.log(user?.profile?.name); ``` Mais je ne comprends pas, est-ce une fonctionnalité de TypeScript ou simplement de JavaScript ? Et comment s'appelle correctement cet opérateur — "chaînage optionnel", "point d'interrogation" ?